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

php – 无法使用PDO连接到Google Cloud SQL

发布时间:2021-08-28 03:46:37 所属栏目:大数据 来源: https://www.jb51.cc
导读:我是一个PHP新手.我正在尝试使用PHP和PDO连接到GAE.我尝试使用MysqL_connect()和MysqL_select_db()进行连接.我成功了.但是,当我尝试使用PDO进行连接时,出现错误 Connection Failed: sqlSTATE[HY000] [2002] No connection could be made because the target

我是一个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_USER, 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}”部分.

(编辑:北几岛)

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

    推荐文章
      热点阅读