programing

치명적 오류: 최대 실행 시간 30초를 초과했습니다.

newsource 2022. 12. 6. 22:03

치명적 오류: 최대 실행 시간 30초를 초과했습니다.

온라인 소스에서 JSON 파일을 다운로드하고 있는데 루프를 통과하면 다음 오류가 발생합니다.

치명적 오류: 24행의 C:\wamp\www\temp\fetch.php에서 최대 실행 시간이 30초를 초과했습니다.

당신의 루프는 끝이 없을지도 모릅니다.그렇지 않으면 최대 실행 시간을 다음과 같이 연장할 수 있습니다.

ini_set('max_execution_time', '300'); //300 seconds = 5 minutes

그리고.

set_time_limit(300);

를 사용하여 시간 제한을 일시적으로 연장할 수 있습니다.

나도 같은 문제가 있어서 param 값을 변경하여 해결했다.max_execution_timephp.ini, 다음과 같이 합니다.

max_execution_time = 360      ; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)
max_input_time = 120          ; Maximum amount of time each script may spend parsing request data
;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit = 128M           ; Maximum amount of memory a script may consume (128MB by default)

이게 도움이 됐으면 좋겠어요.

위의 답변은 모두 맞지만, 경우에 따라서는 간단하게 회피할 수 있습니다.

스크립트의 선두에 다음 명령을 입력합니다.

set_time_limit(0);

WordPress 4.0으로 업그레이드 할 때 이 문제가 발생하였습니다.기본적으로 WordPress는 최대 실행 시간을 30초로 제한합니다.

기본값을 재정의하려면 WordPress 설치의 루트 디렉터리에 있는 .htaccess 파일에 다음 코드를 추가합니다.

php_value max_execution_time 300  //where 300 = 300 seconds = 5 minutes

php.ini 편집

다음 행을 찾습니다.

max_execution_time

값을 300으로 변경합니다.

max_execution_time = 300

300은 http 요청 실행 시간 5분을 의미합니다.

스크립트가 타임아웃되고 있습니다.set_time_limit() 함수를 살펴보고 실행 시간을 올립니다.또는 스크립트를 프로파일링하여 보다 빠르게 실행할 수 있도록 합니다.

위의 모든 것이 통하지 않는 경우,.htaccess스크립트가 있는 디렉토리로 파일을 전송하여 이 파일을 저장합니다.

<IfModule mod_php5.c>
php_value post_max_size 200M
php_value upload_max_filesize 200M
php_value memory_limit 300M
php_value max_execution_time 259200
php_value max_input_time 259200
php_value session.gc_maxlifetime 1200
</IfModule>

이것이 내가 문제를 해결한 방법이었다, 둘 다ini_set('max_execution_time', 86400);도 아니다set_time_limit(86400)문제는 해결되었지만 .htaccess 메서드로 해결되었습니다.

우리는 이 문제를 세 가지 다른 방법으로 해결할 수 있다.

1) php.ini 파일 사용

2) .htaccess 파일 사용

3) Wp-config.php 파일 사용(Wordpress용)

스크립트 상단에 다음 행을 추가하여 제한을 0으로 설정하면 제한을 제거할 수 있습니다.

<?php ini_set('max_execution_time', '0'); ?>

길을 따라가다/etc/php5(your php version)/apache2/php.ini.

열고 값을 설정합니다.max_execution_time원하는 사람에게.

php.ini 파일에서 변경한 내용이 있는지 확인하십시오.예를 들어 "internationalization extension(Intl)"을 추가하지 않고 ";intl.default_intl=en_utf8"로 변경하여 "internationalization extension(Intl)"을 활성화하면 동일한 오류가 발생합니다.그래서 나는 비슷한 실수가 있는지 확인해 볼 것을 제안한다.

PHP 스크립트 상단에 다음 행을 추가하여 스크립트 실행 시간을 늘립니다.

ini_set('max_execution_time', 120); //120 seconds = 2 minutes

참조가 PHP 스크립트 실행 시간 증가에서 인용되었습니다.

를 확장하려면 , 또는 를 사용합니다.

// Set maximum execution time to 10 seconds this way
ini_set('max_execution_time', 10);
// or this way
set_time_limit(10);

!! 단, 두 기능 모두 재시작되며 스크립트 실행에 이미 걸린 시간도 카운트됩니다.

sleep(2);
ini_set('max_execution_time', 5);

register_shutdown_function(function(){
    var_dump(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']);
});

for(;;);

//
// var_dump outputs float(7.1981489658356)
//

따라서 스크립트를 실행할 수 있는 정확한 최대 시간을 설정하려면 먼저 명령을 실행해야 합니다.

이 두 기능의 차이는 다음과 같습니다.

  • set_time_limit 는 성공 여부를 반환하지 않지만 오류 발생 시 경고를 보냅니다.
  • ini_set 성공 시 오래된 값을 반환하거나 실패 시 경고/오류 없이 false를 반환한다.

WHM으로 쉽게 할 수 있어요.할 일 :

WHM -> 서비스 설정 -> PHP 설정

에 editor-->max_execution_time=30

(기본값 30은 원하는 값으로 변경)

WordPress 사이트에서도 같은 문제가 발생하여 .htaccess 파일을 추가하고 정상적으로 동작하고 있습니다.

php_value max_execution_time 6000000
set_time_limit($time_in_second); // 0 for unlimited time

스크립트를 장시간 실행해야 할 경우 런타임에 이 php 함수를 사용합니다.자세한 것은 이쪽.

xampp\phpMyAdmin\libraries\config.default에서 몇 가지 변경을 가했습니다.php

$cfg['ExecTimeLimit']이치노

오른쪽 값을 '5000'과 같이 더 높은 값으로 변경할 수 있습니다.그리고 그것은 동작한다.

언급URL : https://stackoverflow.com/questions/5164930/fatal-error-maximum-execution-time-of-30-seconds-exceeded