다음 문자열을 사용하여 로컬 호스트에서 mysql 데이터베이스에 연결합니다 (루트 액세스 권한이 없음). 스택 오버플로 관련 게시물을 읽었습니다. 내가 사용하는 경우PDO를 사용하여 MySQL을 연결하십시오.
ini_set('mysqli.default_socket', '/tmp/mysql5.sock');
ini_set('mysql.default_socket', '/tmp/mysql5.sock');
ini_set('pdo_mysql.default_socket', '/tmp/mysql5.sock');
:
'mysql:unix_socket:/tmp/mysql5.sock;dbname='.DB_NAME.';'
'mysql:localhost:/tmp/mysql5.sock;dbname='.DB_NAME.';charset=utf8'
또는
내가이SQLST있어
나는이 PHP 파일을 정의 ATE [HY000] [2002] 이러한 파일이 없습니다 또는 디렉토리 내가 사용
:
'mysql:host=127.0.0.1;dbname='.DB_NAME.';'
나는이
있어SQLSTATE [HY000] [2002] 연결이 거부
누구나 살펴볼 수 있습니다.
'ini_set()'을 사용하여 소켓을 설정하고 사용하려고하는 이유를 모르겠습니다. 연결 문자열에 사용자 이름과 암호가 누락되었습니다. '$ pdo = new PDO ('mysql : host = localhost; dbname ='. DBNAME, 'user', 'password'); ' –
서버가 정상적으로 작동합니까? '/ tmp/mysq5.sock' 파일이 존재합니까? 다른 도구를 사용하여 연결할 수 있는지 확인할 수 있습니까? – tadman