php – 无法使用PDO连接到Google Cloud SQL
发布时间:2020-12-13 16:52:09 所属栏目:PHP教程 来源:网络整理
导读:我是一个 PHP新手.我正在尝试使用 PHP和PDO连接到GAE.我尝试使用mysql_connect()和mysql_select_db()进行连接.我成功了.但是,当我尝试使用PDO进行连接时,出现错误 Connection failed: SQLSTATE[HY000] [2002] No connection could be made because the targe
我是一个
PHP新手.我正在尝试使用
PHP和PDO连接到GAE.我尝试使用mysql_connect()和mysql_select_db()进行连接.我成功了.但是,当我尝试使用PDO进行连接时,出现错误
Connection failed: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it. 我的代码如下: define('DBH_SOCKET','/cloudsql/****:****'); define('DBH_NAME','wordpress_db'); define('DBH_USER','censored'); define('DBH_PASSWORD','censored'); $pdo_conn = "mysql:unix_socket=".DBH_SOCKET.";dbname=".DBH_NAME.";charset=utf8"; try { $dbconn = new PDO($pdo_conn,DBH_USER,DBH_PASSWORD); $dbconn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); }catch (PDOException $e){ echo 'Connection failed: ' . $e->getMessage(); } echo "<br> var is ".$pdo_conn; /*$conn = mysql_connect(DBH_SOCKET,DBH_PASSWORD); if (!$conn) die('Connect error ('.mysql_error()); $db_selected = mysql_select_db(DBH_NAME,$conn); if(!$db_selected) die('Cant use db: '.mysql_error());*/ 我究竟做错了什么?我在网上查看了一些教程,如http://webandphp.com/WorkingwithPHPontheGoogleCloudPlatform-166942.他们使用PHPStorm和JDBC驱动程序.但是,没有提到在官方谷歌教程中使用JDBC驱动程序. 解决方法
在本地使用PDO进行连接时,您需要使用与本地MySQL服务器设置匹配的连接字符串,例如“mysql:host = localhost; dbname = {db name}; charset = utf8”.
在GAE上运行时,您当前的连接字符串应该可以正常工作.您收到错误消息“无法找到套接字传输”unix“的事实 – 您是否忘记在配置PHP时启用它?”建议你可能错过了“unix_socket = / cloudsql / {project id}:{instance id}”部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |