PHP: не могу продлить время выполнения функции - PullRequest
0 голосов
/ 28 марта 2019

У меня есть приложение, которое сканирует более 100 доменов одновременно, моей проблемой является время выполнения, я не могу продлить более 1,8 мин, и отображается 404. Не найдено.

Это мой код проверки времени выполнения.

<?php
ini_set('max_execution_time', 300);
// current time
echo date('h:i:s') . "\n";

sleep(120);

// wake up !
echo date('h:i:s') . "\n";

?>

Я хочу запускать свои функции, пока он не завершит свою задачу.

Надеюсь, вы мне поможете.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Вы не можете изменить этот параметр с помощью ini_set () при работе в безопасном режиме. Единственный обходной путь - отключить безопасный режим или изменить ограничение по времени в php.ini.

Если у вас нет доступа к php.ini, обратитесь к поставщику услуг.

Другой вариант - установить bacground script или cronjob на сервере, который берет задачу из базы данных и поддерживает ее результат, а также создает веб-сервис, который будет контролировать этот процесс.

0 голосов
/ 28 марта 2019

вы можете использовать set_time_limit() для этого

https://www.php.net/manual/en/function.set-time-limit.php

...