我需要运行一个脚本到localhost(xampp),这将生成14400条记录并将它们添加到数据库中,我设置了max_execution_time = 50000000000
,我不知道是否可以通过将其设置为0来使其无限制-1。但我之前尝试过这个脚本,这个max_execution_time到50000000000然后它停在某一点,我不知道还有什么可以限制执行时间,我已经运行了很多次,我厌倦了等待又失败了,什么我应该在再次运行此脚本之前更改,这次是否完成这项工作?
答案 0 :(得分:119)
您必须将其设置为零。零意味着脚本可以永久运行。在脚本开头添加以下内容:
ini_set('max_execution_time', 0);
的PHP文档
请注意:
set_time_limit(0);
会产生同样的效果。
答案 1 :(得分:0)
您的脚本可能正在停止,不是因为PHP超时,而是因为您用来访问脚本的浏览器超时(即Firefox,Chrome等)。不幸的是,很少有一种简单的方法来延长这种超时,而在大多数浏览器中你根本就不能。您在这里的选项是通过终端访问脚本。例如,在Windows上,您将确保PHP可执行文件位于路径变量中,然后我认为您执行:
C:\path\to\script> php script.php
或者,如果您使用的是PHP CGI,我认为它是:
C:\path\to\script> php-cgi script.php
另外,您还可以像其他人提到的那样在脚本中设置ini_set('max_execution_time', 0);
。以这种方式运行PHP脚本时,我非常确定如果您愿意,可以使用缓冲区刷新来定期回显脚本到终端的进度。我认为使用这种方法的最大问题是,除了停止整个PHP进程或服务之外,没有办法在脚本启动时停止脚本。
答案 2 :(得分:0)
正如@Peter Cullen的回答所述,您的脚本将首先遇到浏览器超时。因此,最好提供一些日志输出,然后提供/graphql
,但连接具有缓冲区,除非提供大量输出,否则您将看不到任何内容。以下是有助于提供可靠日志的代码段:
flush()