pdo 연결_php 팁을 사용할 때 PHP에서 보고한 연결 실패 SQLSTATE 오류에 대한 해결 방법
이 문서의 예에서는 php pdo_mysql 연결 오류 연결 실패: SQLSTATE[HY000] [2002] 해당 파일 또는 디렉터리가 없습니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.
오류 설명:
연결 실패: SQLSTATE[HY000] [2002] 해당 파일 또는 디렉터리가 없습니다
환경 개요:
맥OS
xampp로 구축된 개발 환경 apache mysql php
xampp은 mysql oracle을 지원했으며 테스트는 괜찮았으며 phpinfo는 pdo_mysql pdo_pgsql pdo_sqlite를 지원하는 것으로 나타났습니다
그 중 xampp과 함께 제공되는 mysql이 아닌 Brew 패키지 관리를 사용하여 mysql을 머신에 설치했습니다
php pdo 연결 오류 연결 실패: SQLSTATE[HY000] [2002] 해당 파일 또는 디렉터리가 없습니다
처음에는 URL 재작성으로 인해 파일을 찾을 수 없는 줄 알았는데(nginx에서 apache로 전환해서) 추적 프로그램에서 새로운 pdo 오류가 보고된 것으로 나타났습니다
몇 가지 정보를 검색한 후 다음을 발견했습니다.
php.ini 구성 파일의 pdo_mysql.default_socket에 지정된 잘못된 mysql.sock 경로입니다
내 mysql.sock 파일은 /private/tmp/mysql.sock
설정:
mysql.sock이 어디에 있는지 모르시면 검색하시면 됩니다. (yum, apt-get, Brew 등 패키지 관리 도구의 설치 위치와 컴파일 및 설치 위치가 다르기 때문입니다.)
sudo find / -name 'mysql.sock'
공식 버그 수정은 다음과 같습니다
1. php.ini를 엽니다(내 파일은 /private/etc/에 있음)
2. 다음 줄을 찾으세요: pdo_mysql.default_socket=/var/mysql/mysql.sock
3. 줄을 다음으로 변경합니다: pdo_mysql.default_socket=/tmp/mysql.sock
4. 아파치를 다시 시작하세요
1. 새로운 시스템이거나 PHP를 막 시작한 사람이라면 Mac 시스템에 php.ini 파일이 존재하지 않는다는 점을 여기에 추가해야 합니다.
2. /private/etc/ 디렉토리에 cp php.ini.default
가 필요합니다
php.ini를 수정한 다음
3. 하지만 xampp mysql을 데이터베이스로 사용하는 경우에는 공식 2단계를 사용할 필요 없이 다음 방법을 작성하면 됩니다.
해결책 3:
원래 비어 있던 다음 세 가지 값을 다음과 같이 설정합니다.
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock
모두 수정됨
수정 완료 후
사용
문제가 해결되었습니다!
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP가 MySQL에 연결 한 후 페이지가 비어 있고 Die () 함수가 실패한 이유가 있습니다. PHP와 MySQL 데이터베이스 간의 연결을 배울 때는 종종 혼란스러운 것들이 발생합니다 ...

Docker 환경을 사용할 때 Docker 환경에 Extensions를 설치하기 위해 PECL을 사용하여 오류의 원인 및 솔루션. 종종 일부 두통이 발생합니다 ...

Linux 터미널에서 Python 버전을 보려고 할 때 Linux 터미널에서 Python 버전을 볼 때 권한 문제에 대한 솔루션 ... Python을 입력하십시오 ...

ThinkPhp6 라우팅 매개 변수는 중국어 및 완전한 획득으로 처리됩니다. ThinkPhp6 프레임 워크에서 특수 문자 (예 : 중국어 및 구두점 마크)를 포함하는 URL 매개 변수는 종종 처리됩니다 ...

SCAPY 크롤러를 사용할 때 파이프 라인 영구 스토리지 파일을 작성할 수없는 이유는 무엇입니까? 토론 Data Crawler에 Scapy Crawler를 사용하는 법을 배울 때 종종 ...

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

노드 환경에서 403 오류를 반환하는 타사 인터페이스를 피하는 방법. node.js를 사용하여 타사 웹 사이트 인터페이스를 호출 할 때 때때로 403 오류를 반환하는 문제가 발생합니다. � ...
