PDO를 사용하는 PHP 스크립트를 여러 번 성공적으로 실행한 후에도 계속 'MySQL 서버가 사라졌습니다' 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-21 08:23:12
원래의
345명이 탐색했습니다.

Why does my PHP script using PDO keep getting a

PDO가 포함된 PHP 스크립트에서 "MySQL Server Has Gone Away" 오류가 발생함

야간 작업을 수행하는 스크립트에서 PDO가 문을 준비하는 문제에 직면함 여러 번 성공적으로 실행한 후 "MySQL 서버가 사라졌습니다" 오류와 함께 실패합니다. 이 문제의 근본 원인은 MySQL에 설정된 최대 허용 패킷 크기를 초과하는 경우가 많습니다.

해결책: 서버 구성 조정

오류를 해결하려면 다음이 필요합니다. MySQL 구성 파일(my.ini)에서 max_allowed_packet 설정을 조정합니다. 이 설정은 서버가 처리할 수 있는 최대 패킷 크기를 지정합니다. 주어진 시나리오에서 허용된 크기보다 큰 BLOB를 삽입하려고 하면 문제가 발생할 가능성이 높습니다.

오류 메시지 및 로거 출력

이 문제가 발생하면 클라이언트 측에서는 "MySQL 서버가 사라졌습니다."라는 오류 메시지를 표시합니다. 또한 오류 로깅이 활성화된 경우 서버 로그에 다음 오류가 포함될 수 있습니다.

Error 1153 Got a packet bigger than 'max_allowed_packet' bytes
로그인 후 복사

구성 조정

이 문제를 해결하려면 가장 큰 크기를 결정하세요. 삽입될 BLOB에 따라 my.ini에 max_allowed_packet을 설정합니다. 예를 들어 최대 BLOB 크기가 200MB로 추정되는 경우 다음과 같이 구성을 조정할 수 있습니다.

[mysqld]
...
max_allowed_packet = 200M
...
로그인 후 복사

위 내용은 PDO를 사용하는 PHP 스크립트를 여러 번 성공적으로 실행한 후에도 계속 'MySQL 서버가 사라졌습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿