>  기사  >  데이터 베이스  >  안전 모드에서 `ini_set()`, `set_time_limit()` 및 `max_execution_time`이 예상대로 작동하지 않는 이유는 무엇입니까?

안전 모드에서 `ini_set()`, `set_time_limit()` 및 `max_execution_time`이 예상대로 작동하지 않는 이유는 무엇입니까?

DDD
DDD원래의
2024-10-28 01:57:02271검색

Why Don't `ini_set()`, `set_time_limit()`, and `max_execution_time` Work as Expected in Safe Mode?

ini_set, set_time_limit 및 max_execution_time: 작동하지 않는 이유

많은 개발자가 PHP의 최대 실행 시간을 수정하려고 할 때 문제에 직면합니다. ini_set() 또는 set_time_limit()와 같은 함수를 사용하는 스크립트. 원하는 시간 제한을 로컬로 설정했음에도 불구하고 원격 서버에서는 기본값인 30이 변경되지 않은 채 유지됩니다.

근본 원인: 안전 모드 제한

PHP 매뉴얼의 런타임 max_execution_time에 대한 구성 섹션에서는 이 동작을 설명합니다. 안전 모드에서는 ini_set()을 통해 이 설정을 변경하는 것이 금지되어 있음을 설명합니다. 이 제한을 우회하려면 안전 모드를 비활성화하거나 php.ini 구성 파일에서 시간 제한을 수동으로 편집하십시오.

set_time_limit()에도 적용

중요합니다 설명서에 따라 set_time_limit() 함수에도 동일한 제한이 적용된다는 점에 유의하세요. 안전 모드가 활성화되면 두 기능 모두 기본 시간 제한을 무시할 수 없습니다.

결론

요약하자면 원격 서버의 안전 모드는 수정을 방지합니다. 실행 시간 제한까지. 이 문제를 해결하려면 안전 모드를 비활성화하거나 php.ini 구성 파일을 수동으로 편집하십시오.

위 내용은 안전 모드에서 `ini_set()`, `set_time_limit()` 및 `max_execution_time`이 예상대로 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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