Я завантажую файл JSON з інтернет-джерела, і коли він працює через цикл, я отримую цю помилку:
Фатальна помилка: Максимальний час виконання 30 секунд перевищено в C: \ wamp \ www \ temp \ fetch.php у рядку 24
Я завантажую файл JSON з інтернет-джерела, і коли він працює через цикл, я отримую цю помилку:
Фатальна помилка: Максимальний час виконання 30 секунд перевищено в C: \ wamp \ www \ temp \ fetch.php у рядку 24
Відповіді:
Ваш цикл може бути нескінченним. Якщо це не так, ви можете продовжити максимальний час виконання таким чином:
ini_set('max_execution_time', 300); //300 seconds = 5 minutes
і
set_time_limit(300);
може бути використаний для тимчасового продовження строку.
У мене була та сама проблема, і я вирішив її, змінивши значення для параметра max_execution_time
в php.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)
Я сподіваюся, що це може вам допомогти.
php.ini
можна знайти в /etc/php5/apache2/php.ini
.... Я використовую ubuntu 13.04 ...
Усі відповіді вище є правильними, але я використовую простий спосіб уникнути цього в деяких випадках.
Просто поставте цю команду на початку вашого сценарію:
set_time_limit(0);
Я зіткнувся з цією проблемою під час оновлення до WordPress 4.0 . За замовчуванням WordPress обмежує максимальний час виконання до 30 секунд.
Додайте наступний код у свій .htaccess файл у кореневому каталозі своєї установки WordPress, щоб перевищити значення за замовчуванням.
php_value max_execution_time 300 //where 300 = 300 seconds = 5 minutes
Редагувати php.ini
Знайдіть цей рядок:
max_execution_time
Змініть його значення на 300:
max_execution_time = 300
300 означає 5 хвилин часу виконання http запиту.
Ваш сценарій закінчується. Погляньте на функцію 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 зробив.
Ви можете видалити обмеження, встановивши його до нуля, додавши цей рядок у верхній частині сценарію:
<?php ini_set('max_execution_time', 0); ?>
Дотримуйтесь шляху /etc/php5(your php version)/apache2/php.ini
.
Відкрийте його та встановіть значення max_execution_time
потрібного.
Можливо, перевірте наявність будь-яких речей, які ви змінили у файлі php.ini. Наприклад, я змінив "; intl.default_locale =" на "; intl.default_locale = en_utf8" , щоб увімкнути "Розширення інтернаціоналізації (Intl)", не додаючи "extension = php_intl.dll", тоді сталася ця сама помилка. Тому я пропоную перевірити наявність подібних помилок.
Збільште час виконання сценарію, додавши наступний рядок у верхній частині сценарію PHP.
ini_set('max_execution_time', 120); //120 seconds = 2 minutes
Довідка взята із збільшення часу виконання сценарію PHP
Щоб розширити свій, max_execution_time
ви можете використовувати ini_set
або set_time_limit
.
// 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
повертає старе значення на успіх або помилкове на помилку без будь-якого попередження / помилкиУ мене така ж проблема на сайті WordPress, я додав у файл .htaccess, а потім добре працює для мене.
php_value max_execution_time 6000000