我正在使用Windows-7操作系统和wamp服务器。 我有2个php文件trigger.php,background.php。 我想在后台运行background.php。我必须从trigger.php。
调用此文件我尝试了下面的方法。
我在trigger.php中添加了这段代码
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("C:\wamp\bin\php\php5.3.5\php-win.exe -f C:/wamp/www/background.php", 0, false);
但是我的background.php没有被调用。
我怎么能这样做?
任何建议都表示赞赏。
答案 0 :(得分:13)
function execInBackground($cmd) {
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B ". $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
}
在这种情况下,您的$cmd
将为"php C:/wamp/www/path/to/background.php"
答案 1 :(得分:0)
我更改了以下功能,
$cmd = 'C:\wamp\bin\php\php5.3.5\php.exe C:\wamp\www\email3.php';
function execInBackground($cmd) {
if (substr(php_uname(), 0, 7) == "Windows"){
pclose(popen("start /B " . $cmd, "r"));
}
else {
exec($cmd . " > /dev/null &");
}
}
并且,它适用于我。 :)