当前位置: 首页 > 知识库问答 >
问题:

使用exec,您如何更改正在执行的PHP版本?

和光启
2023-03-14

初始脚本。php

exec("start /B php file.php >> log-file.log");

文件php

<?php die(phpversion()); ?>

日志文件。日志

5.5.11

我在程序文件(x86)中安装了3个php:

  • v5.4
  • v5.5
  • v5.5.5

我希望强制执行官使用v5。这可能吗?

我尝试了对c:/Program Files(x86)/PHP/v5.4/php.exe文件的不同变体,但没有效果,通常脚本只是挂起。最后一个注意事项,我在Windows 2008服务器上,所以nix命令是徒劳的...:/

共有1个答案

隆飞驰
2023-03-14

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

pclose(popen('"C:\/Program Files (x86)\/PHP\/v5.4\/php" file.php var1 var2 >> log-file.log 2>&1 &', "r"));

您还将看到,我没有使用斜杠,因此使用了\/

谢谢你的帮助,所以。

 类似资料:
  • 问题内容: 我需要知道并杀死是否有运行指定PHP脚本的进程。是否有可能使用exec()和php脚本获取运行sample.php的进程的列表。 问题答案: 但是,只有在PHP以CGI模式运行时,这才起作用。如果它作为SAPI类型的东西运行,您将永远不会在进程列表中看到“ sample.php”,而只能看到“ httpd”。

  • 我正在处理我的一个项目。我正在windows机器上使用XAMPP开发该项目。这就是我面临的问题。我需要在服务器上执行shell脚本,并在网页上显示结果。问题是,大多数脚本都按预期运行,但我无法获得以下命令的输出:, ls, cat, pwd 因为这些命令返回给我一个空白数组。 我找不到确切的问题。

  • 使用PHP,我尝试连接到远程服务器并执行rsync命令: 远程连接工作正常,但是当我包含我的rsync命令时,我得到了一个端口错误"ssh:连接到主机远程命令2端口22:连接拒绝" 正确使用的端口是1234,这个命令在终端(shell)上运行良好,但是php“exec”函数不想使用它(“ssh-p1234”),知道吗?

  • 我已经下载了XAMPP版本7.2.10,它应该有PHP版本7.2.10。 但是当我在cmd上运行作曲家更新时,它说我的PHP版本是7.0.21。我需要一个PHP 7.1.3才能运行我的框架。 有没有办法在不安装新的XAMPP的情况下更改PHP版本?因为我已经安装了最新版本,XAMPP和CMD中声明的PHP版本不同。

  • 我已经从cPanel更改了PHP版本7.2,但是它已成功更改。但是当转到 Putty(命令行界面)并键入时 它显示php版本是7.2,但Php-cli版本是5.6 PHP 5.6.40 (cli)(构建时间:2019年4月8日15:39:30)版权所有(c) 1997-2016 PHP 组 Zend Engine v2.6.0, 版权所有 (c) 1998-2016 Zend 技术

  • 问题内容: 我是使用Linux的新手,在篡改时破坏了一些php设置。 如果我执行一个包含以下内容的php脚本:它显示的php版本为5.6,但是如果通过命令行运行,它将返回7.0版本。 我想两个版本都匹配。 如何修复命令行路径以同时使用php 5.6? 问题答案: 请参阅:来源