Мне нужно запустить скрипт в localhost (xampp), который будет генерировать 14400 записей и добавляет их в базу данных, я установил max_execution_time = 50000000000
, я не знаю, могу ли я сделать его неограниченным, установив его в 0 или -1. Но я пробовал этот скрипт раньше с этим max_execution_time до 50000000000, но все же он остановился в определенный момент, я не знаю, что еще может ограничить время выполнения, я много раз выполнял это задание, и я устал ждать и снова терпеть неудачу, что следует ли мне изменить, прежде чем снова запустим этот скрипт и на этот раз, чтобы закончить работу?
Вам нужно будет установить его на ноль. Zero означает, что скрипт может работать вечно. Добавьте в начале скрипта следующее:
ini_set('max_execution_time', 0);
Обратитесь к документации PHP max_execution_time
Обратите внимание, что:
set_time_limit(0);
будет иметь тот же эффект.
Ваш сценарий может останавливаться не из-за таймаута PHP, а из-за тайм-аута в браузере, который вы используете для доступа к скрипту (например, Firefox, Chrome и т. Д.). К сожалению, редко существует простой способ продлить этот таймаут, и в большинстве браузеров вы просто не можете. Здесь вы можете получить доступ к сценарию через терминал. Например, в Windows вы должны убедиться, что исполняемый файл PHP находится в переменной пути, и я думаю, что вы выполните:
C:\path\to\script> php script.php
Или, если вы используете PHP CGI, я думаю, что это:
C:\path\to\script> php-cgi script.php
Кроме того, вы также должны установить ini_set('max_execution_time', 0);
в вашем скрипте, как другие говорили. При запуске PHP-скрипта таким образом, я уверен, что вы можете использовать буферизацию, чтобы периодически вызывать выполнение сценария на терминал, если хотите. Самая большая проблема, которую я думаю с помощью этого метода, заключается в том, что нет способа остановить сценарий после его запуска, кроме остановки всего процесса или службы PHP.