我正在运行PHP using XAMPP on Windows
,我有这个PHP页面称为interface.php
,它使用ajax
调用另一个PHP脚本proxy.php
。
类似于$.get("proxy.php");
现在proxy.php
只做exec(php process.php)
;
这里一切正常。我按下interface.php中的一个按钮,ajax调用proxy.php,它开始执行process.php并向接口返回进程已经开始的消息。
我的问题是,有时我需要杀死process.php
。我可以手工做,不需要自动化。我需要杀死它,因为在测试时,我看到了一些错误,所以我修复了它并想重新启动。现在,当我检查task manager
时,我没有看到与process.php
相关的东西。我从任务管理器中结束httpd.exe
和xampp-control.exe
,但进程仍然运行直到它结束。
我怎样才能在需要的时候杀死这个php script
?
在任务管理器中查找php.exe
。exec('php')
相当于在CLI中手动输入php
:一个"独立的"(独立于web服务器)php.exe进程通过CLI SAPI启动。
你可以使用set_time_limit来修改php.ini,如果时间过长,可以自动完成。
http://php.net/manual/en/function.set-time-limit.php