PHP는 MySQL 기본 소켓을 사용하지 않습니다.

PHP는 MySQL 기본 소켓을 사용하지 않습니다.

localhostPHP가 호스트로 연결할 수 없는 이유를 이해하는 데 어려움을 겪고 있습니다 . 다음을 수행하여 연결할 수 있습니다.

mysql -uroot -p

또한 Sequel Pro를 통해 localhost에 호스트로 연결할 수 있습니다. 그러나 PHP를 사용하면 다음과 같은 결과를 얻을 수 있습니다.

Warning: mysqli_connect(): (HY000/2002): No such file or directory

127.0.0.1로 변경하려고 하면 작동하기 때문에 소켓 때문이라고 확신합니다.

호스트가 작동하지 않는 이유는 무엇입니까?

답변1

PHP는 MySQL이 수신 대기 중인 소켓과 다른 소켓을 사용하려고 합니다.

MySQL이 어느 소켓을 수신하고 있는지 확인하려면 다음을 실행하세요.

 mysqld --verbose --help|grep ^socket

socket /var/run/mysqld/mysqld.sock

PHP가 어떤 소켓을 사용하려고 하는지 보려면 스크립트의 출력을 확인하면 됩니다. <?php phpinfo(); ?>이는 가변적입니다 mysqli.default_socket. 파일에서 php.ini(일반적으로 ) 변경할 수 있습니다 /etc/php5/apache2/.

관련 정보