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

如何让/bin/bash在Composer中运行所需的php版本?[副本]

谈阎宝
2023-03-14
php -v

给出7.4

which php

给出7.4

php test.php包含以下测试文件:

<?php
echo phpversion();
?>

给出7.4

但是当我运行Craft CMS的安装/启动脚本时,它正在使用PHP 5.6执行文件Bootup.php。

在什么情况下,bash脚本可能会默认为旧的php版本?我怀疑这可能是Composer中的环境变量。我如何让它运行使用所需的?

如果我问xy问题,我道歉。

共有2个答案

陆寒
2023-03-14

如果您设置了平台,请检查composer.json文件

"platform": {
        "php": "5.6"
    }

它定义了你要在项目中使用的目标平台。

臧弘和
2023-03-14

好的,那么作曲家中的php文件有以下内容:

#!/usr/bin/env php

由于某些原因,我不完全理解,这会导致忽略别名,而在$PATH中查找第一个php。

因此,我选择的解决方案是在$PATH中找到第一个php,将其重命名为php2,然后使用ln-s在名为php的文件夹中创建一个链接,并将其指向正确的php版本二进制文件,在我的例子中是ln-s/opt/plesk/php/7.4/bin/php

Composer和Craft现在使用所需的php版本运行。

 类似资料:
  • 我已在windows 8.1上安装了composer。我使用它下载drupal发行版和模块。我还安装了一个开发桌面。正如您所知,dev desktop附带了不同版本的php,并且它有单独的文件夹。我已经安装了使用PHP5.6的composer。如何使用PHP7? 我应该卸载作曲家并再次安装还是什么?

  • 当我创建一个新项目时,一旦我通过了选择,我如何更改应用程序所需的最低Android版本?现在它设置在5.1,我想降低它。

  • 我只是想知道composer如何在检查需求时检查要使用哪个php。我使用MacOS和终端类型: 结果是这样的: 当我检查php版本时: 结果是: PHP 5.6.10 (cli)(创建时间:2015年6月12日14:08:56)版权所有(c)1997-2015 PHP Group Zend Engine v 2 . 6 . 0,版权所有(c)1998-2015 Zend Technologies

  • 问题内容: 我们如何使用linux bash运行php脚本? php文件test.php test.php包含。 问题答案: 在命令行中输入以下内容: 确保filename.php既包含并执行您要测试的功能。您回显的所有内容都会显示在控制台中,包括错误。 请注意,Apache PHP的php.ini通常不同于CLI PHP(命令行界面)。 参考:https : //secure.php.net/m

  • 在Magento版本中运行“composer update”时出现错误。2.3.3,PHP 7.3.15 致命错误:未捕获类型错误:Magento\InventoryComposer安装程序\Plugin::initModuleDeployment()的返回值必须是Magento\InventoryComposer安装程序\void的实例,在/home/jesperpu/public\u html

  • 问题内容: 我有一个需要节点版本12或更高版本的Node.js项目。有没有办法在packages.json文件中指定此名称,以便安装程序将自动检查并通知用户是否需要升级? 问题答案: 我认为您可以使用“引擎”字段: 正如您所说的那样,您的代码绝对不能与任何较低版本一起使用,您可能也希望“ engineStrict”标志: 可在npmjs网站上找到package.json文件的文档 更新资料 现在已