我创建了一个 PHP 脚本,它从网站上抓取一些特定数据,查找相关信息并将其存储在数据库中。该脚本在本地机器上运行良好,但是当我使用 cron 作业在实时服务器上运行它时,它在执行 10 次数据库插入后停止说
“ fatal error :/home/content/36/78632936/html/scripts/simple_html_dom.php 中允许的 67108864 字节内存耗尽(试图分配 35 字节) 809
”
我在本地使用 get_memory_peak_usage() 检查了相同的脚本,最大使用量约为 8 MB。
我对为什么实时机器上的内存使用率高得惊人感到困惑。任何帮助将不胜感激。
我的代码一瞥:
DB_table1:包含 60000 行数据的列表
主要代码从调用DB1开始,获取数据,然后用每一行数据组成一个URL。这些 URL 中的每一个都将使用 simple_html_dom() 函数进行抓取,脚本将在每个页面上查找一些特定信息并将这些数据存储在另一个表 DB_table2 中。
如果您需要了解任何其他信息,请告诉我。 谢谢:)
最佳答案
不要忘记在 while/foreach 之后使用 unset()
来清理不再需要的 (DB) 结果。
关于PHP:生产服务器上的内存使用率非常高,而本地计算机上的内存使用率很低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191780/