Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP PDO将远程主机更改为本地主机名_Php_Mysql_Pdo - Fatal编程技术网

PHP PDO将远程主机更改为本地主机名

PHP PDO将远程主机更改为本地主机名,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试使用PDO连接到远程mysql服务器。但是,无论我在dsn中提供的主机名或ip地址是什么,当脚本运行时,它总是将地址还原为运行Web服务器的本地服务器的主机名 谷歌建议这可能与SELinux和apaches连接远程数据库的能力有关,但我禁用了SELinux 发行版:Ubuntu 11.04 x64 Apache版本:2.2.17 PHP版本:PHP5.3.5-1ubuntu7.11,带Suhosin修补程序(cli) 编辑: 按要求添加代码。虽然我不认为这是我的编码的问题,因为它在本地

我正在尝试使用PDO连接到远程mysql服务器。但是,无论我在dsn中提供的主机名或ip地址是什么,当脚本运行时,它总是将地址还原为运行Web服务器的本地服务器的主机名

谷歌建议这可能与SELinux和apaches连接远程数据库的能力有关,但我禁用了SELinux

发行版:Ubuntu 11.04 x64

Apache版本:2.2.17

PHP版本:PHP5.3.5-1ubuntu7.11,带Suhosin修补程序(cli)

编辑:

按要求添加代码。虽然我不认为这是我的编码的问题,因为它在本地服务器上运行良好,但不允许远程连接

public function db_connect($driver, $dbhost, $dbname, $user, $pass) {
    $dsn = $driver . ':host=' . $dbhost . ';dbname=' . $dbname;
    try {
        $this->DB = new PDO($dsn, $user, $pass);
    }
    catch (PDOException $err) {
        print 'Database Connection Failed: ' . $err->getMessage();
        die();
    }
}

$remote_db = new DB('mysql', 'remote_server.domain.tld', 'database_name', 'user_name', 'password');
这是我收到的错误消息

数据库连接失败:用户“user_name@”的本地服务器.domain.tld的SQLSTATE[28000][1045]访问被拒绝(使用密码:是)


该错误并不是说您已连接到
local\u server.domain.tld
,而是说您正从那里连接。该错误一定与您的授权或其他身份验证问题有关。

您尚未在此处发布任何代码,因此我们可以如何帮助您?根据需要提供相关代码。虽然我不认为这是我的代码的一个问题,因为它可以通过。我有测试数据的本地服务器。我现在想使用远程服务器上的实时数据。@Wadeury,代码总是与此类问题相关。您启用远程访问了吗?