В настоящее время я пытаюсь запустить приложение Laravel за 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 от поставщика ОС» 7.0.27
, Однако я знаю, что PHP 7.1+ (и даже 7.2) установлен на сервере, потому что Plesk позволил мне выбрать (для доменов и vhosts) эти версии. Теперь у меня вопрос: как я могу сказать composer использовать определенную версию PHP, установленную на сервере, и как это может работать в Debian с Plesk?
Изменить: я не установил Composer глобально. Просто https://getcomposer.org/download/ «Установка из командной строки».
Вот как:
Найдите пути PHP, используемые Plesk. В моем случае это /opt/plesk/php/
, Внутри этой папки находятся папки в соответствии с установленными версиями PHP: 7.0
, 7.1
, 7.2
, Так php composer.phar install
становится /opt/plesk/php/7.2/bin/php composer.phar install
, & оно работает. 🙂
Вы можете использовать platform
установка в composer.json
эмулировать версию PHP:
"config": {
"platform": {
"php": "7.1"}
},
Composer будет предполагать, что версия PHP составляет 7.1 во время установки и обновления, даже если вы используете 7.0 для фактической установки.
Это повлияет только на установку и обновление Composer — если вы хотите запускать консольные команды вашего приложения, вам нужно будет использовать правильный двоичный файл (то же самое для веб-сервера). Однако установка этого параметра сделает ваши установки и обновления Composer более предсказуемыми, поэтому в любом случае это стоит сделать.