使用php/pdo连接到远程wpengine-mysql服务



按照此处的说明操作:

https://wpengine.com/support/setting-remote-database-access/

我可以通过以下命令行连接到mysql:

mysql-uuser-password-h instance.sftp.wpengine.com-P13306-D数据库--默认auth=mysql_native_password

但是当我通过php/pdo:尝试相同的参数时

$dbh = new PDO('mysql:host='.$host.';port='.$port.';dbname='.$db.';default-auth=mysql_native_password', $user, $pass);

我得到这个错误:

PHP致命错误:未捕获的PDOException:PDO::__construct((:MySQL服务器已离开

您需要添加选项并指定.pem键。

您可以从以下问题中的说明下载pem密钥:

https://wpengine.com/support/setting-remote-database-access/-将wpengine_root_ca.pem保存到与脚本相同的目录中。

$user = '';
$pass = '';
$db = '';
$port = '13306';
$host = 'instance.sftp.wpengine.com';  //put your account name instead of 'instance' here
$options = ['default-auth'=>'mysql_native_password',
PDO::MYSQL_ATTR_SSL_CA=>__DIR__.'/wpengine_root_ca.pem',
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false];

$dbh = new PDO('mysql:host='.$host.';port='.$port.';dbname='.$db.';default-auth=mysql_native_password', $user, $pass, $options);

您应该仔细阅读说明,并确保WP引擎已将您的ip地址列入白名单。

最新更新