>  기사  >  백엔드 개발  >  php.ini 시간 제한을 설정하는 방법에 대한 자세한 설명

php.ini 시간 제한을 설정하는 방법에 대한 자세한 설명

PHPz
PHPz원래의
2023-04-11 10:31:091123검색

PHP를 사용하여 장기 실행 스크립트를 실행할 때 스크립트가 너무 오랫동안 실행되는 문제에 자주 직면합니다. 스크립트 실행 시간이 미리 정해진 시간 제한을 초과하면 PHP는 자동으로 스크립트 실행을 종료하고 오류 메시지를 반환합니다. 이 시간 제한은 PHP의 시간 초과입니다. 기본적으로 PHP의 시간 초과는 30초입니다. 많은 계산이나 처리가 필요한 일부 스크립트의 경우 이 시간 제한이 충분하지 않을 수 있으며 더 긴 시간 제한을 수동으로 설정해야 합니다.

다음은 php.ini 파일에서 타임아웃을 설정하는 방법을 설명합니다.

  1. php.ini 파일 위치 찾기

Linux 시스템에서는 다음 명령을 사용하여 php.ini 파일 위치를 찾을 수 있습니다.

php -i | grep php.ini

명령이 실행된 후 php의 경로는 .ini 파일이 표시됩니다. 예:

Configuration File (php.ini) Path => /usr/local/php7/lib
Loaded Configuration File => /usr/local/php7/lib/php.ini

Windows 시스템에서는 검색 도구를 사용하여 php.ini 파일을 찾을 수 있습니다.

  1. php.ini 파일 열기

텍스트 편집기를 사용하여 php.ini 파일을 엽니다. 참고: php.ini 파일은 일반적으로 시스템 수준 구성 파일이며 관리자 권한이 필요합니다.

  1. 다음 두 구성 항목을 찾아 수정하세요
; Maximum amount of time each script may spend parsing request data.
; Default: 60
; Change: 600
max_input_time = 600

; Maximum execution time of each script, in seconds
; Default: 30
; Change: 300
max_execution_time = 300

일반적으로 위 두 구성 항목을 수정하면 PHP 시간 제한을 10분으로 설정할 수 있습니다. 그 중

  • max_input_time은 PHP 스크립트의 최대 실행 시간(초)을 나타냅니다. 이 시간 동안 스크립트의 입력 데이터를 구문 분석해야 합니다. max_input_time 指 PHP 脚本最大的运行时间,以秒为单位。在这个时间内,脚本的输入数据必须被解析完毕。
  • max_execution_time 指 PHP 脚本的最大执行时间,以秒为单位。在这个时间内,脚本必须执行完毕,否则 PHP 引擎将终止脚本的执行。

需要注意的是,max_execution_time

max_execution_time은 PHP 스크립트의 최대 실행 시간(초)을 나타냅니다. 이 시간 내에 스크립트를 실행해야 합니다. 그렇지 않으면 PHP 엔진이 스크립트 실행을 종료합니다.
  1. max_execution_time 설정은 PHP-FPM, 웹 서버, 운영 체제 등과 같은 다른 구성 요소의 제한을 초과할 수 없다는 점에 유의해야 합니다. 이러한 구성 요소가 더 짧은 시간으로 제한되면 시간 초과도 더 짧은 시간으로 제한됩니다.

PHP를 저장하고 다시 시작하세요

php.ini 파일을 수정한 후 PHP를 저장하고 다시 시작하세요.

Linux 시스템에서는 다음 명령을 사용할 수 있습니다.

sudo systemctl restart php-fpm
Windows 시스템에서는 명령줄에

iisreset
를 입력하거나 서비스 관리자에서 IIS 서비스를 다시 시작할 수 있습니다. 🎜🎜위 작업 후에 PHP 시간 초과를 필요한 시간으로 설정할 수 있습니다. 물론, 타임아웃을 너무 길게 설정하는 것도 서버 성능에 어느 정도 부담을 주게 되므로 실제 상황과 필요에 따라 적절하게 설정해야 합니다. 🎜

위 내용은 php.ini 시간 제한을 설정하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.