所以我有一个需要来自远程服务器的数据的 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"