我有一个php脚本插入mysql数据库中的随机数据。(大约100万行)脚本开始在我的浏览器上运行后,几分钟后(例如10分钟左右)脚本停止。(Chrome给我"没有收到数据")
在我的脚本中,我设置了如下内容:
ini_set('display_errors','On');
ini_set('error_reporting',E_ALL);
ini_set('max_execution_time' ,0);
ini_set('set_memory_limit', '10240MB');
对于这个项目,我使用的是Laravel框架,但我不认为它与它有什么关系。
有什么想法吗?
通过SSH执行这种长时间运行的作业总是一种好方法(如果您可以SSH访问您的服务器)。然后,您可以通过php your-script.php
执行任何php脚本。您只需要记住两件事:您需要正确地引导框架(如果脚本依赖于它),然后SSH连接也会超时。您可以通过在后台发送正在运行的作业或使用screen
命令来解决此限制。
找到问题。它来自于框架。对于最佳实践,我建议:https://laracasts.com/lessons/eager-loading