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