到远程服务器的PHP PDO连接改为连接到本地服务器
我想知道当我实例化一个新的PDO对象时,它仍然使用服务器的本地IP到远程服务器的PHP PDO连接改为连接到本地服务器,php,mysql,pdo,database-permissions,Php,Mysql,Pdo,Database Permissions,我想知道当我实例化一个新的PDO对象时,它仍然使用服务器的本地IP <?php $dsn = 'mysql:host=10.0.0.4;charset=utf8'; $username = 'user'; $password = 'pass'; $pdo = new PDO($dsn, $username, $password); ?> 这给了我一个奇怪的错误 致命错误:未捕获的异常“PDOException”带有消息 用户'user'@'10.0.0.5'的'SQLST
<?php
$dsn = 'mysql:host=10.0.0.4;charset=utf8';
$username = 'user';
$password = 'pass';
$pdo = new PDO($dsn, $username, $password);
?>
这给了我一个奇怪的错误
致命错误:未捕获的异常“PDOException”带有消息
用户'user'@'10.0.0.5'的'SQLSTATE[28000][1045]访问被拒绝在/var/www/html/mysql_test.php:7
堆栈跟踪:
#0/var/www/html/mysql_test.php(7):PDO->_构造('mysql:host=10.0…','user','pass')
#1{main}
在第7行的/var/www/html/mysql_test.php中抛出 我注意到它正在连接到10.0.0.5,这是本地服务器的IP地址。远程服务器(10.0.0.4)支持远程访问
是否有我应该配置的PDO内部配置文件?当前的PHP和PDO版本分别为5.5.15RC1和5.5.38。它没有连接到您的计算机,
user@ip
是连接用户的IP,因此它应该是您计算机的IP。问题出在其他地方。不,10.0.0.5
是客户端
IP,而不是服务器IP。该消息表示,不允许位于10.0.0.5
的用户user
访问位于10.0.0.4
的服务器。您可能会收到此错误,因为您在DSNThanks@php开发人员中忽略了dbname
参数。我不太理解错误消息。