Проблема с подключением подключение из экземпляра PHP App engine к экземпляру Cloud SQL, созданному в другом App engine под управлением Java Runtime

#google-app-engine #mysqli #google-cloud-sql

#google-движок приложений #mysqli #google-cloud-sql #google-app-engine

Вопрос:

У меня возникают проблемы при подключении к экземпляру Cloud SQL, размещенному в App engine (среда выполнения Java). Подключающийся клиент представляет собой веб-приложение PHP, размещенное в другом экземпляре Google App engine. Возможно ли, чтобы экземпляр App engine подключался к облачному SQL в другом экземпляре?

В принципе, моя настройка заключается в следующем:

  • Google App Engine 1 (среда выполнения Java)
    • установлен с облачным экземпляром SQL
    • размещает конечные точки Google и подключается к облачному SQL на этом экземпляре
  • Google App Engine 2 (среда выполнения PHP)
    • PHP-скрипт, подключающийся к облачному экземпляру SQL Google App Engine 1

Проблема в том, что я всегда получаю сообщение об ошибке ниже:

 Warning: mysqli_connect(): MySQL server has gone away in /base/data/home/apps/s~some-php-web-app-v1/v1.376456666740733344/includes/database.php on line 29 Warning: mysqli_connect(): Error while reading greeting packet. PID=-1
  

Я считаю, что мой код подключения верен

 public function connect($server = DBHOST, $username = DBUSER, $password = DBPASS,  $database = DBNAME, $socket = DBSOCKET, $port = DBPORT)
{
    $this->link = mysqli_connect($server, $username, $password, $database, $port, $socket) or die(mysqli_error());
}
  

Константами являются:

 define('DBHOST', null);
define('DBSOCKET','/cloudsql/some-app-v1-test:some-db');
define('DBNAME', 'database_name');
define('DBUSER', 'root');
define('DBPORT', null);
define('DBPASS', null);
define('PROJECT_PATH', "http:someserver.com//");
  

Возможно ли это? Если это так, какую конфигурацию я должен установить, чтобы это сработало?

Спасибо, Стивен

Ответ №1:

Я нашел ответ на свой вопрос новичка. Нажмите Редактировать в консоли Cloud SQL, затем добавьте свой идентификатор экземпляра Google App в разделе «Авторизованные приложения App Engine».