我正在尝试从App Engine中的自定义运行时环境连接到Google SQL Cloud实例。
当我关注DOC使用Unix域套接字连接时,它可以正常工作。问题是当我尝试使用TCP连接连接时。它显示:
Warning: mysqli_connect(): (HY000/2002): Connection refused in
/var/www/html/index.php on line 3
Connect error: Connection refused
这是我的app.yaml文件:
runtime: custom
env: flex
beta_settings:
cloud_sql_instances: testing-mvalcam:europe-west1:testdb=tcp:3306
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
dockerfile:
FROM php:7.0-apache
ENV PORT 8080
CMD sed -i "s/80/$PORT/g" /etc/apache2/sites-available/000-default.conf /etc/apache2/ports.conf && docker-php-entrypoint apache2-foreground
RUN docker-php-ext-install mysqli
RUN a2enmod rewrite
COPY ./src /var/www/html
EXPOSE $PORT
和index.php:
<?php
$link = mysqli_connect('127.0.0.1', 'root', 'root', 'test');
if (!$link){
die('Connect error: '. mysqli_connect_error());
}
echo 'successfully connected';
mysqli_close($link);
?>
我在做什么错?
IP地址‘172.17.0.1'与网络服务器正在运行的Docker容器有关,您可以在本文档中获得更多上下文。
如果您使用Dockerfile
的存在部署,则您使用的文档页面可能缺乏调整用例。在以下文档中,您可以阅读有关应用引擎灵活运行时的更多信息。
,如您所使用的文档所示(请记住单击此页面上的" TCP连接"选项卡),在app.yaml的部分上与云SQL实例有关需要数据库服务器正在使用的TCP端口。