Я пробовал все, чтобы изменить max_execution_time
скрипта- max_execution_time
php, чтобы он мог запускать бесконечное количество времени.
Я изменил параметр файла php.ini max_execution_time
на 0
или 100000000
но без изменений
Я также попытался установить его из самого скрипта php, используя ini_set('max_execution_time', 0);
Все сценарии php вызывают ту же ошибку. Fatal error: Maximum execution time of 3000 seconds exceeded
, что я могу потерять и как я могу убедиться, что максимальный срок выполнения не установлен?
скрипт php
<?php ini_set('MAX_EXECUTION_TIME', -1); error_reporting(E_ALL); // turn on all errors, warnings and notices for easier debugging //ini_set('max_execution_time', 123456); ini_set('max_input_time', -1); ini_set('memory_limit', '512M'); set_time_limit(0); date_default_timezone_set('Europe/London'); /*code which scrapes websites*/ ?>
phpinfo ()
max_execution_time 0 0 max_input_time -1 -1
Вы не должны позволять вашему сканеру работать под apache, лучше запустить его автономно через cli как часть настройки Gearman .
Таким образом, он не будет запускать ваш веб-сервер, и он может работать столько, сколько вы хотите. Вы можете найти множество привязок для Gearman, которые вы можете использовать, включая PHP, конечно.
Попробуйте отключить безопасный режим в php, а затем попробуйте приведенный ниже код
if( !ini_get('safe_mode') ){ set_time_limit(0); //this won't work if safe_mode is enabled. }
Это должно позволить вам запускать скрипт в течение бесконечного времени.
В Apache вы можете изменить максимальное время выполнения на .htaccess с помощью этой строки
php_value max_execution_time 200
set_time_limit () php manual ref.
использование
set_time_limit(0);
в верхней части скрипта
В WAMP есть три файла PHP.ini, поэтому вы можете найти 3 в xampp, так что просто найдите его с помощью find и замените max_execution_time
на то, что вы устанавливаете. Но вы должны держать что-то маленькое, не слишком большое, чтобы ускорить работу приложения.
Вы также можете попробовать установить ignore_user_abort(TRUE);
в вашем скрипте, так как это может быть время выхода браузера, а не скрипт.
Из справочника php.net
<?php // Ignore user aborts and allow the script // to run forever ignore_user_abort(true); set_time_limit(0);
См. Здесь для получения дополнительной информации
Если вы находитесь в окнах, и это сценарий запуска CLI, возможно, прочитайте это .
проверьте phpinfo()
из сценария temp и найдите max_execution_time
. убедитесь, что он имеет то же значение, что и вы. значение по умолчанию должно быть 30 секунд. попробуйте изменить его на несколько разных значений и перезапустите apache, затем проверьте значение в phpinfo()
для подтверждения.
если при изменении значения, которое оно правильно отражено в phpinfo()
это означает, что в вашем скрипте есть код, который меняет это значение. выполните поиск двух вещей в вашем коде:
ini_set()
и проверьте, не изменилось ли оно max_execution_time
set_time_limit()
эти функции могут изменять максимальный срок выполнения сценария. в противном случае вы должны проверить .htaccess
где это значение может быть установлено. но это также повлияет на phpinfo()
.
Я нашел следующее в документации xampp . Может быть, вы пытаетесь отредактировать неправильный файл php.ini?
Почему изменения в моем php.ini не влияют?
Поскольку XAMPP 1.7.1 «php.ini» находится только в каталоге «\ xampp \ php». Till XAMPP 1.7.0 находится в каталоге «\ xampp \ apache \ bin».
Если изменение в php.ini не имеет эффекта, возможно, PHP все еще использует другой. Вы можете проверить это с помощью phpinfo (). Перейдите в URI localhost / xampp / phpinfo.php и найдите «Загруженный файл конфигурации». Это значение показывает, что PHP php.ini действительно использует.
Info: После изменения «php.ini» вам необходимо перезапустить Apache, поэтому Apache / PHP может читать новые настройки.
то, что вы делаете, это просто установить max_execution_time
на то, что находится внутри вашей страницы. вы не можете изменить это, используя ini_set. вы можете изменить только memory_limit
.
подробнее см. здесь … с официального сайта php.
если вы хотите, чтобы они были изменены, измените php.ini.
Вы должны изменить оба из них в php.ini (и проверить, является ли это правильным php.ini, находя местоположение в phpinfo();
вывод!)
max_execution_time = 0 max_input_time = 0
И после этого проверьте, не будет ли какой-либо файл php не переписывать эти переменные локально.
откройте файл блокнота php.ini и найдите или найдите upload_max_filesize = 1000M
и вы должны изменить на Post_max_filesize = 1000M
затем перезапустить xampp и обновить локальный phpmyadmin ..