【问题标题】:How to change PHP version used by composer如何更改作曲家使用的 PHP 版本
【发布时间】:2018-04-09 17:08:37
【问题描述】:

我想在我的机器上使用另一个 php 版本,而不是使用 WAMP (2 PHP version installed) 安装的那个。

  • 安装的作曲家使用PHP 5.6
  • 一个新项目需要PHP7.0

每当我从 WAMP 的控制面板中选择 PHP 7 然后运行 ​​php -v 时,它仍然会打印 PHP5.6 (CLI)... 而不是 PHP7

如何在不重新安装 composer 的情况下使用 PHP7?

【问题讨论】:

  • 为什么没有一个 linux 答案? :(
  • 我假设是因为 OP 指定了 WAMP...

标签: php composer-php


【解决方案1】:

如果在 windows 中更改环境变量后仍然遇到问题,请尝试删除目录或重命名旧 php.ini 的目录。 我已经完成了,它的工作。

【讨论】:

    【解决方案2】:

    我找到了一个非常简单的切换php版本的方法:

    • 搜索系统环境变量
    • 点击“环境变量”
    • 在“系统变量”下选择路径并点击编辑
    • 将要使用的 PHP 版本文件夹移到 另一个文件夹之前。 例如:现在将使用 php 7.0:

    • 点击“确定”关闭所有窗口
    • 关闭所有 cmd 窗口,然后打开 cmd 并输入 php -v
    • 您将看到现在加载了正确的 php 版本:

    【讨论】:

    • 这不就是三年多前geeky给出的答案吗?
    • geeky 谈论更改文件夹名称,但我发现只需更改文件夹的顺序就足够了,因为您可能想改回来。在我看来,这使它更简单,更易于管理。
    【解决方案3】:

    另一种让作曲家认为您使用的是正确版本的 PHP 的方法是在 composer.json 文件的 config 部分添加 platform option,如下所示:

    "config": {
        "platform": {
            "php": "<ver>"
        }
    },
    

    &lt;ver&gt; 是您选择的 PHP 版本。

    来自文档的片段:

    允许您伪造平台包(PHP 和扩展),以便您可以模拟生产环境或在配置中定义目标平台。示例:{“php”:“7.0.3”,“ext-something”:“4.0.3”}。

    【讨论】:

    • 完美!。它适用于 drupal composer.json。谢谢@Furai。
    • 它对我有用,但在 composer dump-autoload 上遇到问题
    • @JayMomaya 您可以尝试在命令中添加--ignore-platform-reqs 选项。
    【解决方案4】:

    我知道的老问题,但只是补充一些额外的信息:

    • WAMP 仅用于 Microsoft Windows 操作系统。
    • 通过左键单击更改使用的 PHP 版本 -> PHP -> 版本菜单更改 Apache 用于服务器您的站点的版本。
    • 通过右键->工具->更改PHP CLI版本菜单更改使用的PHP版本,更改WAMP的PHP CLI使用的版本。

    注意:了解“PHP CLI 版本”是由 WAMP 自己的内部 PHP 脚本使用的,这一点很重要。此“PHP CLI 版本”与您希望用于脚本、Composer 或其他任何东西的版本无关。

    为了使您的脚本与您需要的版本一起使用,您需要将其路径添加到用户环境路径。您可以将其添加到系统环境路径,但用户路径是推荐选项。

    从 WAMP v3.1.2 开始,当它检测到对系统或用户环境路径中的 PHP 路径的引用时会显示错误。这是为了阻止你正在经历的混乱。从 v3.1.7 开始,现在可以通过 WampSettings 菜单中的选择来选择显示此错误。

    如前面的答案所示,将已安装的 PHP 路径(例如“C:\wamp64\bin\php\php7.2.30”)添加到用户环境路径是正确的方法。 PS:由于Users Environmental Path的值为字符串,所有添加的路径必须用分号(;)隔开

    在遇到完全相同的问题(IE:选择我希望 Composer 使用的 PHP 版本)后,我创建了一个脚本,该脚本可以根据我正在处理的项目轻松快速地在 PHP CLI 版本之间切换。

    Windows 批处理脚本“WampServer-PHP-CLI-Version-Changer”可以在https://github.com/custom-dev-tools/WampServer-PHP-CLI-Version-Changer找到

    我希望这对其他人有所帮助。

    祝你好运。

    【讨论】:

      【解决方案5】:

      我发现 composer 使用 $PATH 中首先找到的 php-version /usr/bin/env 运行,在我的 MacOs 上是 7.1.33。 因此,将 mamp 的 php 移到开头对我有帮助。

      PHPVER=$(/usr/libexec/PlistBuddy -c "print phpVersion" ~/Library/Preferences/de.appsolute.mamppro.plist)
      
      export PATH=/Applications/MAMP/bin/php/php${PHPVER}/bin:$PATH
      

      【讨论】:

        【解决方案6】:

        如果还有人遇到问题,请记住您可以使用已安装的任何 php 版本运行 composer,例如$ php7.3 -f /usr/local/bin/composer update

        使用which composer 命令帮助定位composer 可执行文件。

        【讨论】:

          【解决方案7】:

          您可以在不卸载composer的情况下更改php版本,请按照以下步骤操作:

          1. 在 cortana 中搜索系统环境变量。
          2. 点击“环境变量”按钮。
          3. 在“系统变量”下选择路径并单击编辑,您将看到一个类似“C:\wamp\bin\php\php5.6.13”的条目。
          4. 只需将其更改为位于您的 wamp/bin/php7.1.9 的 php 的文件夹名称,这里 php7.1.9 是文件夹名称。
          5. 将 php5.6.13 替换为 bin7.1.9,它看起来像“C:\wamp\bin\php\php7.1.9”,只需在所有框上单击确定即可。
          6. 你已经完成了。
          7. 要验证,首先关闭所有 cmd 窗口,然后打开 cmd 并输入php -v,按回车,您应该会看到 php7.1.9。
          8. 如果您没有看到 php 版本的变化,而只是重新启动您的电脑并在 cmd 中再次运行 php -v,它将起作用。

          【讨论】:

          • 这行得通,但是 wamp 服务器说它有一个错误并且它检测到环境变量的变化。
          • 如果 wamp 服务器显示有关环境变量更改检测的错误,我建议您重新启动服务器。如果它没有解决,则关闭服务器并重新启动它。如果这也不起作用,我建议您重新启动您的电脑。希望它有所帮助:)
          • 关于第 3 步,对我来说是在“用户变量”而不是“系统变量”下。但其他一切都有效?
          • 它对我有用。非常感谢
          【解决方案8】:

          如果您使用 WAMP,我假设是 Windows。 Composer 可能只是在您的路径中使用 PHP 集:How to access PHP with the Command Line on Windows?

          您应该能够使用相同的说明更改 PHP 的路径。

          否则,composer 只是一个 PHAR 文件,你可以下载 PHAR 并使用任何 PHP 执行它:

          C:\full\path\to\php.exe C:\full\path\to\composer.phar install
          

          【讨论】:

          • 这行C:\full\path\to\php.exe C:\full\path\to\composer.phar install有什么用。我已经有了 composer.phar 文件,因为我已经在我当前的项目中使用了 composer
          • Composer phar 示例是金! Finnaly 让它工作,不需要无休止的环境变量切换。很多!
          • 对于 Linux/MacOS 用户,类似于:/Applications/MAMP/bin/php/php7.2.14/bin/php /usr/local/bin/composer install
          猜你喜欢
          • 2016-04-30
          • 2013-03-18
          • 1970-01-01
          • 2013-09-12
          • 1970-01-01
          • 2020-01-16
          • 2021-02-22
          • 2019-04-21
          • 2015-07-02
          相关资源
          最近更新 更多