我有大约 200,000 行需要添加到数据库中。
我已经设置了 maximum_excution_time = 4000
,但仍然收到此错误。
PHP中maximum_execution_time的最大值是多少?
我想完全取消这个限制,如果可能的话将其设置为无限制。
最佳答案
我知道在 set_time_limit
中使用值 0
将告诉 PHP 在脚本/程序完成运行之前不要超时。我非常确定在 maximum_excution_time
中设置相同的值会产生相同的效果。
此外,某些版本的 PHP 存在许多小内存泄漏/低效垃圾收集,在长时间运行的进程中使用时可能会开始耗尽内存。您可能会遇到 PHP 内存限制,或者您可能会耗尽虚拟机的可用内存量。
如果您遇到这些挑战,通常的方法是以某种方式批量处理行。
希望有所帮助,祝你好运!
更新:重新批处理 - 如果您发现自己被困在一次只能插入大约 10,000 行的系统上,而不是编写一个程序来一次插入所有 200,000 行,您编写一个程序/系统,它将插入 9,000 个,然后停止。然后再次运行它,它会插入下一个 9,000。然后是下一个 9,000,直到完成。如何执行此操作取决于您从何处获取数据。如果您从平面文件中提取这些数据,那么就像将平面文件拆分为多个文件一样简单。如果您从另一个数据库表中提取数据,那么就像编写一个程序来提取 9,000 个一组的 ID 数组一样简单,然后让您的主程序选择这 9,000 行。消息队列系统是此类任务的另一种流行方法。
关于php - PHP中maximum_execution_time的最大值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28839797/