2014-07-21 4 views
0

새 PDO 객체를 인스턴스화 할 때 여전히 서버의 로컬 IP를 사용하고 있는지 궁금합니다.원격 서버에 대한 PHP PDO 연결이 대신 로컬 서버에 연결

<?php 

$dsn = 'mysql:host=10.0.0.4;charset=utf8'; 
$username = 'user'; 
$password = 'pass'; 

$pdo = new PDO($dsn, $username, $password); 

?> 

내게이 이상한 오류가 발생합니다.

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'user'@'10.0.0.5'
(using password: YES)' in /var/www/html/mysql_test.php:7
Stack trace:
#0 /var/www/html/mysql_test.php(7): PDO->__construct('mysql:host=10.0...', 'user', 'pass')
#1 {main}
thrown in /var/www/html/mysql_test.php on line 7

로컬 서버의 IP 주소 인 10.0.0.5에 연결되어있는 것으로 나타났습니다. 원격 서버 (10.0.0.4)는 원격 액세스를 가능하게합니다.

구성해야하는 PDO 용 내부 구성 파일이 있습니까? 현재 PHP 및 PDO 버전은 각각 5.5.15RC1 및 5.5.38입니다.

+0

가 컴퓨터,'사용자 @의 ip'을 연결하는 사용자의 IP를 연결하지, 그래서 그것은 당신의 컴퓨터의 IP해야한다 . 문제는 다른 곳에서 발생합니다. – serakfalcon

+6

아니요, '10.0.0.5'는 서버 IP가 아닌 '클라이언트'IP입니다. 이 메시지는'10.0.0.5 '에있는 사용자'user'가'10.0.0.4'에있는 서버에 접근하는 것이 허용되지 않는다는 것을 나타냅니다. –

+0

DSN의'dbname' 매개 변수를 생략 했으므로이 오류가 발생할 수 있습니다. – Phil

답변

-3

이 시도 : 가능한 여기

$dbh = new PDO('mysql:host=localhost;dbname=databasename', $username, $password); 

자세한 내용 : http://php.net/manual/en/pdo.connections.php

+0

죄송합니다. 그러나 귀하의 대답은 의미가 없습니다! –

관련 문제