Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用exec,如何更改您所使用的PHP版本';重新执行';你在和谁打交道?_Php - Fatal编程技术网

使用exec,如何更改您所使用的PHP版本';重新执行';你在和谁打交道?

使用exec,如何更改您所使用的PHP版本';重新执行';你在和谁打交道?,php,Php,initial script.php exec("start /B php file.php >> log-file.log"); <?php die(phpversion()); ?> file.php exec("start /B php file.php >> log-file.log"); <?php die(phpversion()); ?> 我在程序文件(x86)中安装了3个php: v5.4 v5.5 v5.5.5 我希望

initial script.php

exec("start /B php file.php >> log-file.log");
<?php die(phpversion()); ?>
file.php

exec("start /B php file.php >> log-file.log");
<?php die(phpversion()); ?>
我在程序文件(x86)中安装了3个php:

  • v5.4
  • v5.5
  • v5.5.5
我希望强制exec使用v5.4,这可能吗

我尝试了对c:/Program文件(x86)/PHP/v5.4/PHP.exe的不同版本,但都没有效果,通常脚本只是挂起。最后一点,我在Windows 2008服务器上,所以
nix命令无效…:/

正如达贡指出的,需要定义路径。但是,在Windows中,需要使用双引号将路径用空格括起来。我也无法使用最初发布的start/B运行脚本。我现在也在使用popen。以下是工作代码:

pclose(popen('"C:\/Program Files (x86)\/PHP\/v5.4\/php" file.php var1 var2 >> log-file.log 2>&1 &', "r"));
您还将看到,我没有使用斜杠,因此使用了
\/


谢谢您的帮助。

如何创建具有不同名称的php.exe副本,并将其添加到PATH?只需
exec(“PATH/to/php/version/php file.php>>log file.log”)这是否需要这样的完整路径
c:/ProgramFiles(x86)/PHP/v5.4/PHP
登录时发生完全错误?错误日志?从这里不容易诊断:(我想出来了!在Windows中,路径中不能有空格,它们需要用双引号括起来。