加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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}”部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读