웹 애플리케이션을 개발하는 과정에서 일반적으로 파일 업로드, 보고서 생성 등과 같이 더 많은 시간이 소요되는 작업을 수행해야 하는 경우가 있습니다. 이러한 작업을 수행하는 데는 수십 초 또는 몇 분이 걸릴 수 있지만 기본적으로 PHP 스크립트의 실행 시간은 제한되어 있습니다. 제한을 초과하면 "최대 실행 시간 초과(시간 초과)" 오류가 발생합니다. 그렇다면 PHP 스크립트의 시간 초과를 변경하는 방법은 무엇입니까?
PHP의 기본 시간 제한은 30초입니다. 즉, 스크립트 실행 시간이 30초를 초과하면 PHP 엔진이 자동으로 스크립트 실행을 중단하고 "최대 실행 시간 초과" 오류를 발생시킵니다. 이 시간 제한은 다양한 서버 설정, PHP 버전 및 PHP.ini 구성의 영향을 받습니다. 아래에서는 PHP 스크립트의 시간 초과를 변경하는 방법을 설명합니다.
PHP 스크립트에서 시간 초과 변경
ini_set() 함수를 통해 PHP 스크립트에서 시간 초과를 동적으로 변경할 수 있습니다. 이 함수는 php.ini의 구성 매개변수를 동적으로 수정하는 데 사용됩니다. 따라서 ini_set() 함수를 사용하여 시간 초과 구성 매개변수를 변경할 수 있습니다.
ini_set('max_execution_time', 60);
위 코드는 스크립트의 시간 초과를 60초로 설정합니다. 이는 스크립트 실행 시간이 60초를 초과할 수 없음을 의미합니다. 그렇지 않으면 "최대 실행 시간 초과" 오류가 나타납니다.
물론, 이 코드를 PHP 파일의 시작 부분에 넣어서 실행 시 전체 파일이 영향을 받도록 할 수도 있습니다. 그러나 PHP 구성 파일(php.ini)에 해당 제한 사항이 있는 경우 이 방법을 통해 시간 초과를 변경할 수 없다는 점에 유의해야 합니다.
php.ini 파일에서 시간 초과 변경
php.ini 파일에서 max_execution_time 구성 매개변수를 변경하여 PHP 스크립트의 시간 초과를 변경할 수 있습니다. 이 매개변수는 초 단위로 측정되며 더 긴 작업을 지원하기 위해 더 높은 숫자로 설정할 수 있습니다. 다음 단계를 따르세요:
php.ini 파일을 찾아서 엽니다(보통 /etc/php.ini 또는 /etc/php7/php.ini).
max_execution_time = 30을 찾습니다. 30은 기본 실행 시간입니다.
max_execution_time 값을 원하는 초 수(예: 5분 동안 300)로 변경합니다.
php.ini 파일을 저장하세요.
변경 사항을 적용하려면 웹 서버를 다시 시작하세요.
대용량 파일 업로드 시 시간 초과 문제 처리
대용량 파일 업로드는 일반적인 요구 사항이지만 일반적으로 업로드 및 처리하는 데 시간이 더 오래 걸리므로 시간 초과 문제가 발생하기 쉽습니다. 대용량 파일을 업로드할 때 시간 초과 문제가 발생하는 경우 다음 해결 방법을 고려할 수 있습니다.
PHP 스크립트의 시간 초과를 늘립니다. 이는 ini_set() 함수를 사용하거나 php.ini 파일의 max_execution_time 구성 매개변수를 변경하여 수행할 수 있습니다.
대용량 파일을 업로드할 때는 멀티파트 업로드 기술을 사용하세요. 이 기술은 파일을 작은 덩어리로 나누고 하나씩 업로드합니다. 이렇게 하면 업로드 시간이 오래 걸리더라도 시간 초과 문제를 방지할 수 있습니다. 많은 최신 브라우저는 멀티파트 업로드를 지원합니다.
업로드 진행률 표시줄과 Ajax 기술을 사용하여 사용자에게 업로드 진행률에 대한 실시간 피드백을 제공하세요. 이를 통해 사용자는 업로드 진행 상황을 알 수 있으며 프로그램이 중지되었다는 잘못된 인식을 피할 수 있습니다.
더 빠른 서버나 고대역폭 클라우드 서버를 사용하세요. 서버 성능을 개선하면 파일을 업로드하고 처리하는 데 걸리는 시간이 단축될 수 있습니다. 공유 호스팅을 사용하는 경우 VPS 또는 전용 서버로 업그레이드하는 것을 고려해보세요.
결론
PHP 스크립트의 시간 초과는 웹 개발에서 자주 발생하는 문제 중 하나입니다. 이 문제는 단순히 PHP 스크립트의 시간 초과를 변경하거나 php.ini 파일에서 max_execution_time 구성 매개변수를 변경하여 쉽게 피할 수 있습니다. 또한 대용량 파일 업로드를 처리할 때 다중 부분 업로드 기술, 업로드 진행률 표시줄, 더 빠른 서버 또는 대용량 클라우드 서버를 사용하여 사용자 경험을 향상시키는 것이 좋습니다.
위 내용은 PHP 변경 시간 초과의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!