поэтому у меня есть php-скрипт, который требует данные с удаленного сервера. Это выглядит так:
set_time_limit(100);
ignore_user_abort(true);
$x = 0
while($x < 10){
$data = file_get_contents("http://www.remoteserver.com/script");
// do something with the data
}
// insert ALL the gained data in the local database
Если я открою скрипт в своем браузере, это займет около 10 секунд. Однако мне нужно зациклить не 10 раз, а 24 раза. Затем сценарий занимает около 22 секунд. Я не могу вставить данные в цикл, мне нужно дождаться завершения цикла.
Теперь интересная часть заключается в том, что когда цикл установлен на 10, скрипт может завершиться, если он запускается через cronjob. Если установлено значение 24, скрипт не успевает завершиться и данные в локальную базу данных не вставляются!
Почему это? Есть ли решение моей проблемы? Он отлично работает, когда я открываю его в своем браузере.
Я вызываю скрипт с помощью этой команды cronjob:
php public_html/example.com/my_script.php
Я получаю те же результаты с этой командой cronjob:
curl "http://example.com/my_script.php"