初始脚本.php
exec("start /B php file.php >> log-file.log");
file.php
<?php die(phpversion()); ?>
日志文件.log
5.5.11
我在程序文件(x86(中安装了3个php:
- v5.4
- v5.5
- v.5.5
我想强制exec使用v5.4,这可能吗?
我尝试过对c:/Program Files(x86(/PHP/v5.4/PHP.exe文件的不同变体,但都没有成功,通常脚本只是挂起。最后一点,我在Windows2008服务器上,所以nix命令无效…:/
正如Dagon所指出的,需要定义路径。但是,在Windows中,需要使用双引号将路径用空格括起来。我也无法运行最初发布的带有start/B的脚本。我现在也在使用popen。这是工作代码:
pclose(popen('"C:'/Program Files (x86)'/PHP'/v5.4'/php" file.php var1 var2 >> log-file.log 2>&1 &', "r"));
您还会看到我逃脱了斜杠,因此获得了'/
。
感谢您的帮助,SO。