>백엔드 개발 >PHP 튜토리얼 >'소켓 'MySQL'(2)을 통해 로컬 MySQL 서버에 연결할 수 없습니다.'라는 메시지와 함께 PHP mysqli 연결이 실패하는 이유는 무엇입니까?

'소켓 'MySQL'(2)을 통해 로컬 MySQL 서버에 연결할 수 없습니다.'라는 메시지와 함께 PHP mysqli 연결이 실패하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-02 13:17:16779검색

Why is my PHP mysqli connection failing with

mysqli::mysqli() 오류: 'MySQL' 소켓을 통한 연결 실패

다음을 사용하여 MySQL 데이터베이스에 연결을 설정하려고 할 때 PHP의 mysqli 클래스, 오류 "mysqli::mysqli(): (HY000/2002): 소켓 'MySQL'(2)을 통해 로컬 MySQL 서버에 연결할 수 없습니다."는 Unix 도메인 소켓을 통해 연결을 설정하는 데 어려움이 있음을 나타냅니다.

소켓 오류 이유

기본적으로 "localhost"가 호스트로 제공되면 MySQL은 TCP/IP 대신 Unix 도메인 소켓 파일인 "MySQL"을 사용하여 연결을 시도합니다. 그러나 이 소켓이 없거나 액세스할 수 없는 경우 연결을 설정할 수 없습니다.

해결책

이 문제를 해결하려면 다음 해결 방법을 고려하십시오.

  • TCP/IP 사용: IP 주소를 명시적으로 제공하세요. TCP/IP 연결을 강제하려면 "localhost" 대신 "127.0.0.1"을 호스트로 사용하세요.
  • PHP의 MySQL 소켓 경로 구성: MySQL 구성 파일(my.cnf)을 열고 MySQL이 소켓을 생성하는 경로를 찾으십시오. 그런 다음 PHP 스크립트에서 mysqli.default_socket 구성을 사용하여 PHP에 대해 이 경로를 설정합니다.
  • 스크립트에서 소켓 지정: 다음을 사용하여 PHP 스크립트에서 소켓을 직접 구성합니다. 다음 구문:

    $db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')

    호스트 구성 웹사이트

웹사이트에서 데이터베이스에 액세스할 수 있도록 하려면 다른 호스트를 구성해야 할 수도 있습니다. 호스트 구성은 웹 호스팅 환경 설정과 MySQL 서버 위치에 따라 다릅니다. 원격 호스트 구성에 대한 구체적인 지침은 호스팅 제공업체에 문의하는 것이 좋습니다.

위 내용은 '소켓 'MySQL'(2)을 통해 로컬 MySQL 서버에 연결할 수 없습니다.'라는 메시지와 함께 PHP mysqli 연결이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.