새 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입니다.
가 컴퓨터,'사용자 @의 ip'을 연결하는 사용자의 IP를 연결하지, 그래서 그것은 당신의 컴퓨터의 IP해야한다 . 문제는 다른 곳에서 발생합니다. – serakfalcon
아니요, '10.0.0.5'는 서버 IP가 아닌 '클라이언트'IP입니다. 이 메시지는'10.0.0.5 '에있는 사용자'user'가'10.0.0.4'에있는 서버에 접근하는 것이 허용되지 않는다는 것을 나타냅니다. –
DSN의'dbname' 매개 변수를 생략 했으므로이 오류가 발생할 수 있습니다. – Phil