Я настраиваю приложение, которое должно подключаться к базе данных в облаке (Google Cloud SQL). У меня есть php-файл, который подключается к базе данных и возвращает все данные, которые мне нужны. Он отлично работает на локальном хосте, но я не могу заставить его работать в облаке.
Вот мой файл .php:
<?php
$conn = mysqli_connect("[MY_GOOGLE_SQL_PUBLIC_IP]", "root", "123", "mysql");
if (!$conn) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}else{
echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($conn) . PHP_EOL;
}
mysqli_close($conn);
?>
Вот мой app.yaml:
runtime: php55
handlers:
- url: .*
script: cloud-test.php
beta_settings:
cloud_sql_instances: "cloudtest-2412**:southamerica-east1:store"
Если я запускаю на своем локальном хосте (127.0.0.1:8888) файл php, я получаю, что было установлено соединение с моей базой данных в google sql. Но когда я внедряю (gcloud app deploy) в движок приложения и пытаюсь получить доступ к URL-адресу, предоставленному Google, я получаю следующую ошибку:
Ошибка: невозможно подключиться к MySQL. Ошибка отладки: 2002 Ошибка отладки: истекло время ожидания соединения
* База данных sql и ядро приложения находятся в одном проекте, поэтому мне не нужно давать какого-либо специального разрешения (например, я должен дать разрешение для своего локального ip при доступе на моем локальном хосте)
Есть идеи ??
Спасибо