Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从应用程序引擎连接到云SQL不工作_Php_Google App Engine - Fatal编程技术网

Php 从应用程序引擎连接到云SQL不工作

Php 从应用程序引擎连接到云SQL不工作,php,google-app-engine,Php,Google App Engine,我正在尝试将我的应用程序(从应用程序引擎)连接到云SQL,我肯定缺少一些东西: 我添加了一个云SQL实例 我授权了我的应用程序 我通过PhpMyAdmin添加了一个test_db数据库(授权我的IP并连接到该数据库),测试了用户和密码是否有效 最后,我部署了一个具有以下行的应用程序(用于测试连接): 如果这些行返回False或Null(即它们都不工作),是否有帮助 (如果有解决方案,请将其保存在mysqli_real_connect()中,因为WordPress正在使用该解决方案) 更新:

我正在尝试将我的应用程序(从应用程序引擎)连接到云SQL,我肯定缺少一些东西:

  • 我添加了一个云SQL实例
  • 我授权了我的应用程序

  • 我通过PhpMyAdmin添加了一个test_db数据库(授权我的IP并连接到该数据库),测试了用户和密码是否有效

  • 最后,我部署了一个具有以下行的应用程序(用于测试连接):

如果这些行返回False或Null(即它们都不工作),是否有帮助
(如果有解决方案,请将其保存在mysqli_real_connect()中,因为WordPress正在使用该解决方案)

更新:新错误
目前我正在使用这一行:

var_dump( mysqli_real_connect( $dbh, 'localhost', 'test_db', 'test_db', 'test_db', 3306, 'mysql:unix_socket=/cloudsql/my_project_id:database_name' ) );
我得到了以下错误

找不到套接字传输“unix”-您忘记启用了吗 当您配置PHP时,它会发生什么

基于,假设您已经创建了用户“test_db”,密码为“test_db”,可以访问数据库“test_db”,您应该这样做

mysqli_real_connect( $dbh, null, 'test_db', 'test_db', 'test_db', null, '/cloudsql/<your-project-id>:<your-instance-name>');
mysqli_real_connect($dbh,null,'test_db','test_db','test_db',null,/cloudsql/:');

也不起作用。我认为现在要解决的主要错误是我在问题底部提到的一个:“找不到套接字传输“unix”-您在配置PHP时忘记启用它了吗?”当您使用它连接时,错误消息是什么?我还假设您已经在CloudSQL中创建了相应的用户和数据库?这就是我现在得到的:“拒绝访问用户'test_db'@'localhost'(使用密码:YES)”,这毫无意义,因为我可以使用phpmyadmin(通过IP地址)进行连接,但我宁愿使用unix套接字,因为它显然更安全-
mysqli\u real\u connect($dbh,null,'test\u db',null,'test\u db',null,/cloudsql/:')
-将密码保留为“null”解决了它!
mysqli_real_connect( $dbh, null, 'test_db', 'test_db', 'test_db', null, '/cloudsql/<your-project-id>:<your-instance-name>');