我有一个 PHP 脚本,通过 cron 运行,它遍历站点列表并使用 file_get_contents() 针对 API URL 为每个站点收集数据,然后将这些数据存储在 MySQL 数据库中。该脚本针对 60 个不同的站点运行,我们看到每个 URL 拉取多达 5MB 的序列化 PHP 数据。
该系统在我的本地 MAMP 服务器上运行良好,但是一旦将其放置在远程服务器上,它就会停止可靠地运行。有时它会提取和存储数据,但存储的记录少于本地服务器。它还以 504 网关错误结束。在另一台服务器上,它根本没有完成。我们提高了 php.ini 中的所有时间限制,并将我在本地的内容与远程服务器进行了比较,但没有看到任何突出的内容。
有什么方法可以让 PHP 脚本以更“分段”的方式运行这些多次重复的操作?每个站点运行后有什么方法可以“重置计时器”吗?它需要自动化,但是为每个站点设置一个 cron(每个站点 3 个 URL,60 个站点)听起来就像是一场噩梦。
提前致谢。