0

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

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

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

速度不是问题,我们可以接受它需要一段时间才能运行,但不知何故脚本被杀死了。虽然它正在运行,但我可以从 Windows 的任务管理器中看到 CLI 进程,但看起来如果它需要超过 10 分钟,Windows 就会杀死它或其他什么东西。

我只是想弄清楚如何运行它而不会使进程因花费太长时间而被杀死。

对此的任何帮助将不胜感激。

谢谢!

4

1 回答 1

0

尝试使用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

于 2013-04-06T15:03:09.923 回答