PHP로 개발하다 보면 네트워크 요청, 데이터베이스 쿼리, 파일 작업 등과 같은 장기적인 작업을 수행해야 하는 경우가 있습니다. 이 경우, PHP의 기본 시간 제한은 이러한 작업을 완료하는 데 충분하지 않아 프로그램에 오류가 발생할 수 있습니다. 이 문제를 해결하기 위해서는 PHP의 타임아웃 대기 시간을 설정해야 합니다.
PHP의 타임아웃 대기 시간은 PHP 스크립트가 실행될 때의 최대 대기 시간을 의미하며, 이 시간을 초과하면 강제 종료됩니다. 기본적으로 PHP의 시간 초과 대기 시간은 30초이며 php.ini 파일을 수정하여 조정할 수 있습니다.
먼저 php.ini 파일을 찾아야 합니다. Linux 시스템에서 php.ini는 일반적으로 /etc/php/[version]/cli/ 디렉터리에 있습니다. Windows 시스템에서 php.ini는 일반적으로 PHP 설치 디렉터리에 있습니다.
php.ini 파일을 열고 다음 두 매개변수를 찾으세요.
max_execution_time = 30 max_input_time = 60
그 중 max_execution_time은 PHP 스크립트의 최대 실행 시간(초)을 나타내며, 기본값은 30초입니다. GET, FILE 등. 데이터를 입력하는 최대 시간(초), 기본값은 60초입니다.
이 두 매개변수의 값을 필요한 값으로 수정할 수 있습니다. 예를 들면 다음과 같습니다.
max_execution_time = 60 max_input_time = 120
이렇게 하면 PHP 스크립트의 최대 실행 시간이 60초, 최대 입력 시간이 120초가 됩니다.
php.ini 파일을 수정하는 것 외에도 PHP 코드에서 시간 초과 대기 시간을 설정할 수도 있습니다. PHP에서는 set_time_limit 함수를 사용하여 스크립트의 최대 실행 시간을 설정할 수 있습니다.
예를 들어 다음 코드는 PHP 스크립트의 최대 실행 시간을 60초로 설정합니다.
set_time_limit(60);
코드에서 max_input_time 매개변수를 수정하려면 ini_set 함수를 사용할 수 있습니다.
예를 들어, 다음 코드는 PHP 스크립트가 입력을 수신하는 최대 시간을 120초로 설정합니다.
ini_set('max_input_time', 120);
이러한 설정은 현재 스크립트에서만 적용된다는 점에 유의해야 합니다. php.ini로 복원됩니다. 파일에 구성된 값입니다.
PHP는 클라이언트 연결이 끊어진 후에도 PHP 스크립트가 계속 실행될 수 있도록 하는ignore_user_abort 함수도 제공합니다. 이 기능은 장기 실행 스크립트 작업 시 매우 유용합니다.
예를 들어, 다음 코드는 클라이언트 연결이 끊어진 후에도 PHP 스크립트가 계속 실행되도록 설정합니다.
ignore_user_abort(true);
ignore_user_abort 함수를 설정한 후 클라이언트 연결이 끊어지면 PHP 스크립트는 계속 실행되지만 아무것도 실행되지 않습니다. 클라이언트로 출력할 수 있습니다.
요약
PHP 개발에서 타임아웃 대기 시간은 매우 중요한 문제로, 특정 상황에 맞게 설정해야 합니다. php.ini 파일을 수정하고, 코드에서 시간 초과 대기 시간을 설정하고,ignore_user_abort 함수를 사용하여 장기 실행 스크립트를 처리하는 등 PHP의 시간 초과 대기 시간을 조정할 수 있습니다.
위 내용은 PHP에서 시간 초과 대기 시간을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!