PHP Exec PHP脚本从命令行在Windows后台


PHP Exec PHP script from command line on Windows in the background

我有一个PHP页面,我从另一个PHP页面执行像这样- exec('c:'php'php.exe processing.php > NUL ');

处理页面有一个运行的SQL存储过程,该过程需要一段时间才能完成。存储过程完成后,页面将从结果创建一个.csv文件并将其放入目录中。

只要执行时间不太长,整个过程就可以正常工作。如果我在几千条记录上运行它,它只需要3-5分钟就能完成。如果我用20K条记录运行它,这个过程需要超过10分钟才能完成,但是在完成之前就被杀死了。

速度不是问题,我们很好,它需要一段时间来运行,但不知何故,脚本正在被杀死。当它运行时,我可以在Windows的任务管理器中看到CLI进程,但似乎如果超过10分钟,Windows就会杀死它或其他什么。

我只是想弄清楚如何才能运行这个程序,而不会因为花费太长时间而导致进程被终止。

如果有任何帮助,我将不胜感激。

谢谢!

尝试使用set_time_limit(0)(参见文档:http://php.net/manual/en/function.set-time-limit.php)。

将时间限制设置为0将取消任何时间限制。

同时,确保你没有任何内存问题。如果您的脚本试图分配过多的内存,它将被终止。您可以使用memory_get_usage()检查脚本的内存使用情况(参见文档:http://php.net/manual/en/function.memory-get-usage.php)