当前位置: 首页 > 面试题库 >

对一个命令使用不同的PHP版本CLI可执行文件

储仲渊
2023-03-14
问题内容

所以我安装了三个PHP版本的Gentoo盒(不要介意原因):

  1. /usr/bin/php -> /usr/lib64/php5.4/bin/php
  2. /usr/bin/php5.5 -> /usr/lib64/php5.5/bin/php
  3. /usr/bin/php5.6 -> /usr/lib64/php5.4/bin/php

我想使用作曲家安装Laravel框架:

$ composer create-project laravel/laravel --prefer-dist

但是,这会引发错误,因为Laravel需要PHP> 5.5.9并且默认php解释器是 5.4 。所以我发出另一个命令:

$ /usr/bin/php5.6 /usr/bin/composer create-project laravel/laravel --prefer-dist

这使我更进一步,但是随后Laravel的一些安装后命令composer.json开始起作用,安装崩溃。

这是由于事实,composer.json命令看起来像这样:

"post-install-cmd": [
    "php artisan clear-compiled",
    "php artisan optimize"
],

如您所见,再次使用“默认”解释器!

现在,正确的PHP文件以以下shebang开头:

#!/usr/bin/env php

这是一个很好的功能,因为可以在不同系统的不同位置找到PHP解释器。不幸的是,在这种情况下,env命令将返回其在$PATH环境变量中找到的第一个可执行文件的路径。

我怎么可能改变当前的会话环境或执行什么样的技巧,以便执行整个Laravel安装过程php命令/usr/bin/php5.6而不是调用/usr/bin/php

我不想改变$PATH变量或修改文件一样composercomposer.json或者Laravel的CLI工具artisan

编辑:还假设我想从普通用户帐户执行此操作(即没有root权限)。


问题答案:

也许您可以尝试修复环境!

$ php -v
PHP 5.4.x (cli) ...
$ set PATH="/usr/lib64/php5.6/bin:$PATH"
$ php -v
PHP 5.6.x (cli) ...

或者,如果您不想为您的Shell会话修改PATH,则可以仅将更改范围包括在当前命令中:

$ php -v
PHP 5.4.x (cli) ...
$ env PATH="/usr/lib64/php5.6/bin:$PATH" php -v
PHP 5.6.x (cli) ...
$ php -v
PHP 5.4.x (cli) ...


 类似资料:
  • 问题内容: 我有一个需要使用redis命令行界面执行的redis命令的长文本文件: 例如 等等 我似乎找不到一种比一次输入命令更快的方法。有数十万行,所以我不想只将它们全部堆叠到一个DEL命令中,它们也不需要一次全部运行。 问题答案: 以下代码对我在Mac上的Redis 2.4.7有用 满足您的要求吗?或者,您是否正在寻找是否有办法以编程方式更快地做到这一点?

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

  • 今天我和jenv一起玩,将Java1.8设置为全局版本,将1.7设置为本地项目。此后,mvn命令在全局位置显示为java版本12- 而Java版本显示如预期- 我试图卸载和安装maven通过sdkman再次,在Mac上。虽然它没有新鲜下载。我仍然得到同样的错误。 我该怎么解决这个问题?

  • 我正在创建一个脚本,我需要同时运行exe文件和命令。我做错了什么? 命令行需要完全如下,否则不起作用:C:\Program Files(x86)\Jenkins 谢谢

  • 本文向大家介绍分享一个可以通过命令简写执行对应命令的Shell脚本,包括了分享一个可以通过命令简写执行对应命令的Shell脚本的使用技巧和注意事项,需要的朋友参考一下 本篇文章介绍一个可以通过命令简写执行对应命令的 shell 脚本。 假设这个 shell 脚本的名称为 tinyshell.sh。 在 Linux 下进行项目开发,经常会用到一些调试开发命令。 这些命令可能比较长,需要输入多个字符。

  • 一、Hive CLI 1.1 Help 使用 hive -H 或者 hive --help 命令可以查看所有命令的帮助,显示如下: usage: hive -d,--define <key=value> Variable subsitution to apply to hive commands. e.g.