Intereting Posts

сделать выполнение скрипта неограниченным

Мне нужно запустить скрипт в 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.