mysqli отлично работает на локальной машине, но не на Google App Engine, что не так?

Я пытаюсь написать простую простую страницу PHP, которая подключается к облачному SQL с помощью mysqli. Он отлично работает на моей локальной машине, когда я включаю прокси-сервер Cloud SQL. НО! он не работает в Google App Engine. Я пытался:

  • изменение 127.0.0.1 на публичный IP-адрес, указанный в подробностях экземпляра Cloud SQL
  • добавление порта (3306) и дб сокета (/cloudsql/<cloud_sql_instance_name>)

    $servername = "127.0.0.1";
    $username = "test";
    $password = "test";
    $dbname = "testdb";
    
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    }
    echo "\nConnected successfully\n";
    

Есть ли где-нибудь ошибка?

0

Решение

Google App Engine не похож на обычную виртуальную машину.

Прокси-сервер развернут рядом с основным контейнером приложения и имеет несколько очень специфических способов запуска соединений. Попытка использовать прокси как внутри GAE всегда будет неудачной.

Чтобы заставить его работать, вы должны следовать инструкциям в конкретной документации для используемой среды:

Обратите внимание, как в обоих случаях вы будете подключаться напрямую к сокету Unix, а не к IP-адресу экземпляра / прокси.

0

Другие решения

Других решений пока нет …