‘壹’ 如何用php运行批处理<.bat>文件或者结束服务器进程
可以用system()、exec()、passthru()
string system ( string command [, int &return_var] )
string exec ( string command [, array &output [, int &return_var]] )
void passthru ( string command [, int &return_var] )
没错啊,比如你要在用户访问1.php的时候执行服务器上的 c:\a.bat 你可以在1.php里面这么写
<?php
exec("c:\\a.bat");
?>
‘贰’ php在执行bat脚本时,一直阻塞,如何解决
虽然你已经问了很久了 。今天我也碰到这个问题了。
发现是session死锁造成的 。
你可以在执行bat脚本的时候吧session关闭
session_write_close();
这样就不会阻塞下次请求了。不过如果你想执行完写入session那就不行了
‘叁’ win2003 Apache+php环境下php执行bat文件不成功。
直接在命令行下执行 xxx.exe argument1 argument2可以成功。
将xxx.exe %1 %2写在bat文件中,然后在命令行下执行mybat.bat argument1 argument2可以成功。
但是 在php中
$cmd = 'c:\mybat.bat argument1 argument2';
$res = system('cmd /C '.$cmd,$retval);
echo $res." return: ".$retval;
这样执行不成功的。