PHP:作曲家使用 PHP 比使用的版本更旧的版本(在共享主机上)

PHP: Composer uses PHP version older than the used version (on shared hosting)

我正在尝试从 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) 当我 运行 phpinfo() 在 Laravel (不是终端)我得到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>

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

请注意,.htaccess 仅影响 Apache 配置。通过 SSH 访问服务器时,文件完全是 ignored/useless.

一些供应商安装了 PHP 的多个版本,通过键入 php7.3 使其可用,而 php 是当前默认版本的简单别名。可能作曲家的设置方式是使用默认版本的不同版本(不确定 how/why),而您的 ssh 会话正在使用另一个版本。

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