php mysql 시간 초과 설정 방법: 먼저 MySQL의 소스 코드를 확인한 다음 "MYSQL_OPT_READ_TIMEOUT" 및 "MYSQL_OPT_WRITE_TIME"의 실제 값을 가져오고 마지막으로 "mysql_option"을 직접 호출합니다.
php가 mysql에 연결하는 데 필요한 시간 초과 설정
php가 mysql에 연결하는 데 필요한 시간 초과는 세 가지 유형으로 나눌 수 있습니다.
连接超时 读超时 写超时
현재 php가 mysql에 연결하는 데는 두 가지 연결 방법이 있으므로 , libmysql 및 mysqlnd(권장).
먼저 libmysql
기본 라이브러리 libmysql에는 MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_READ_TIMEOUT, MYSQL_OPT_WRITE_TIME 설정 항목이 제공되며, 관련 API가 제공됩니다.
소스 코드 위치
mysql-VERSION/sql-common/client.c 3020行
MYSQL_OPT_CONNECT_TIMEOUT을 직접 설정할 수 있습니다. 그러나 MYSQL_OPT_READ_TIMEOUT 및 MYSQL_OPT_WRITE_TIME은 mysqli에서 가져오지 않습니다.
그래서 MySQL의 소스 코드를 확인하고 MYSQL_OPT_READ_TIMEOUT과 MYSQL_OPT_WRITE_TIME의 실제 값을 가져온 다음 mysql_option을 직접 호출해야 합니다. 그러나 mysql_pdo는 하드 코딩되어 있으므로 MYSQL_OPT_READ_TIMEOUT 및 MYSQL_OPT_WRITE_TIME을 설정할 방법이 없습니다.
소스 코드 위치:
mysql-VERSION/include/mysql.h 160줄
하지만 MYSQL_OPT_READ_TIMEOUT은 mysql5.6 버전과 그 이전 버전(온라인에서는 5.6을 사용함)에 이 매개 변수에는 다음 세 가지 제한 사항이 있습니다.
只能在TCP/IP协议下工作 MySQL server版本必须大于5.1.2 只能在windows下生效。
두 번째는 mysqlnd
libmysql과 mysqlnd의 경우 mysql, mysqli, mysqlpdo의 기본 라이브러리이므로 API를 외부에 노출하는 확장 기능입니다. 이 세 가지 유형의 지원은 코드 수준에서 동일합니다.
그러나 MYSQL_OPT_READ_TIMEOUT의 경우 mysqlnd는 php.ini 수준의 여러 위치에 구성됩니다.
mysqlnd.net_read_timeout
이 구성은 장시간 SQL을 실행할 때 적용되며 "2006-MySQL Server가 사라졌습니다"라는 오류가 발생합니다. 보고되었습니다.
이 매개변수는 libmysql의 MYSQL_OPT_READ_TIMEOUT과 매우 유사합니다. 그러나 MYSQL_OPT_READ_TIMEOUT 매개변수에는 이전 요약에서 설명한 사용 시나리오가 있습니다.
MYSQL_OPT_CONNECT_TIMEOUT 및 MYSQL_OPT_WRITE_TIME은 libmysql과 동일합니다.
권장: "PHP 튜토리얼"
간단히
mysqlnd
mysqlnd.net_read_time
위 내용은 php mysql 시간 초과 설정 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!