Composer & Plesk,遇到 PHP 版本问题

Composer & Plesk, encountering PHP version difficulties

我目前正在尝试让我的 Laravel 应用程序 运行ning 落后于 Plesk Onyx。现在尝试 运行 composer install 时,我收到以下错误消息:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for doctrine/inflector v1.3.0 -> satisfiable by doctrine/inflector[v1.3.0].
    - doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (7.0.27) does not satisfy that requirement.
  Problem 2
    - Installation request for symfony/css-selector v4.0.6 -> satisfiable by symfony/css-selector[v4.0.6].
    - symfony/css-selector v4.0.6 requires php ^7.1.3 -> your PHP version (7.0.27) does not satisfy that requirement.
  Problem 3
    - Installation request for symfony/event-dispatcher v4.0.6 -> satisfiable by symfony/event-dispatcher[v4.0.6].
    - symfony/event-dispatcher v4.0.6 requires php ^7.1.3 -> your PHP version (7.0.27) does not satisfy that requirement.
  Problem 4
    - Installation request for symfony/translation v4.0.6 -> satisfiable by symfony/translation[v4.0.6].
    - symfony/translation v4.0.6 requires php ^7.1.3 -> your PHP version (7.0.27) does not satisfy that requirement.
  Problem 5
    - Installation request for doctrine/instantiator 1.1.0 -> satisfiable by doctrine/instantiator[1.1.0].
    - doctrine/instantiator 1.1.0 requires php ^7.1 -> your PHP version (7.0.27) does not satisfy that requirement.
  Problem 6
    - doctrine/inflector v1.3.0 requires php ^7.1 -> your PHP version (7.0.27) does not satisfy that requirement.
    - laravel/framework v5.5.39 requires doctrine/inflector ~1.1 -> satisfiable by doctrine/inflector[v1.3.0].
    - Installation request for laravel/framework v5.5.39 -> satisfiable by laravel/framework[v5.5.39].

好的。我肯定理解这些错误。我 运行 Debian 9 和 "PHP by OS Vendor" 是 7.0.27。但是,我知道服务器上安装了 PHP 7.1+(甚至 7.2),因为 Plesk 让我选择(对于域和虚拟主机)这些版本。我现在的问题是:如何告诉 composer 使用安装在服务器上的某个 PHP 版本,这如何在带有 Plesk 的 Debian 下工作?

编辑:我没有全局安装 Composer。就 https://getcomposer.org/download/ "Command-line installation".

方法如下:

找到 Plesk 使用的 PHP 路径。就我而言,这是 /opt/plesk/php/。在这个文件夹里面,根据安装的PHP个版本有文件夹:7.07.17.2。所以 php composer.phar install 变成 /opt/plesk/php/7.2/bin/php composer.phar install。 & 有用。 :-)

您可以使用 composer.json 中的 platform 设置来模拟 PHP 版本:

"config": {
    "platform": {
        "php": "7.1"
    }
},

Composer 将在安装和更新期间假定 PHP 版本为 7.1,即使您实际安装时使用的是 7.0。

这只会影响 Composer 安装和更新 - 如果您想 运行 您的应用程序的控制台命令,您将需要使用正确的二进制文件(对于网络服务器也是如此)。但是,设置此设置将使您的 Composer 安装和更新更可预测,因此无论如何都值得这样做。