PHP:Composer 使用比所用版本旧的 PHP 版本(在共享主机上)

Posted

技术标签:

【中文标题】PHP:Composer 使用比所用版本旧的 PHP 版本(在共享主机上)【英文标题】:PHP: Composer uses PHP version older than the used version (on shared hosting) 【发布时间】:2022-01-12 22:56:44 【问题描述】:

我正在尝试从 SSH 终端运行 composer 命令,但我得到了这个

Composer detected issues in your platform: Your Composer dependencies require a php version ">= 7.3.33". You are running 7.1.33.

当我运行 php -v 时,我得到 PHP 7.3.33 (cli) ,当我在 Laravel(不是终端)中运行 phpinfo() 时,我得到 PHP Version 7.3.33

在 composer.json 中:

"require": 
    "php": "^7.3.33",

在 .htaccess 中

<IfModule mime_module>
  AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
</IfModule>

为什么会发生这种情况,我该如何解决?

【问题讨论】:

【参考方案1】:

请注意,.htaccess 仅影响 Apache 配置。通过 SSH 访问服务器时,该文件被完全忽略/无用。

一些提供商安装多个版本的 PHP,通过键入 php7.3 使其可用,php 是当前默认版本的简单别名。当您的 ssh 会话使用另一个版本时,可能会设置作曲家以使用不同版本的默认值(不确定如何/为什么)。

因为您的php -v 正在报告所需的版本。我建议下载composer.phar 并通过php composer.phar ... 在本地运行它,而不是依赖当前系统范围内安装的composer。

【讨论】:

以上是关于PHP:Composer 使用比所用版本旧的 PHP 版本(在共享主机上)的主要内容,如果未能解决你的问题,请参考以下文章

使用 composer 检查 php 项目中已知漏洞的工具

Laravel Composer 看到错误的 PHP 版本

Symfony - Composer 更新 - 需要使用旧的依赖项(PHP 5.4 到 PHP 5.3)

composer安装

mac composer 安装

windows下手动安装composer