Время ожидания подключения PHP к экземпляру Cloud SQL истекло - PullRequest
0 голосов
/ 04 июля 2019

Вот мой код для подключения к базе данных PHP, экземпляр Cloud SQL для MySQL:

define('DB_SERVER', '192.0.0.1');
define('DB_USERNAME', 'username');
define('DB_PASSWORD', 'password');
define('DB_NAME', 'db');

$db = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME) or die(mysqli_connect_error());

Очевидно, что DB_SERVER - это не фактический IP-адрес и не учетные данные, но я добавил фиктивный, чтобы посмотреть, нужно ли мне добавлять что-то вроде cloudsql:/ или jdbc://, как вы делаете в Java.

Я авторизовал IP-адрес для веб-сервера в Cloud SQL, но все, что он возвращает, это ошибка Connection Timed Out; Что я могу сделать, чтобы это исправить?

Я уверен, что учетные данные верны, и что я могу подключиться с других авторизованных IP-адресов, поскольку я смог получить доступ с другой учетной записи и нескольких IP-адресов через рабочую среду MySQL.

1 Ответ

0 голосов
/ 06 июля 2019

Решено:

Для тех, кто пользуется услугами Siteground, обязательно добавьте 0.0.0.0/0 в качестве принятых IP-адресов, если вы используете публичную IP-авторизацию. Затем выясните, какие IP-адреса подключены, когда вы обновляете страницу php, выполнив это сразу после обновления страницы:

SELECT host FROM information_schema.processlist WHERE ID=connection_id();

Он должен дать вам несколько IP-адресов и проверить их онлайн с помощью локатора IP-адресов, чтобы увидеть, соответствуют ли они местоположению служб Siteground. Удалите 0.0.0.0/0 и добавьте этот IP-адрес в Google Cloud SQL.

...