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.0
、7.1
、7.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 安装和更新更可预测,因此无论如何都值得这样做。
我目前正在尝试让我的 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.0
、7.1
、7.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 安装和更新更可预测,因此无论如何都值得这样做。