Laravel позади Plesk, столкнувшись с трудностями в версии PHP

В настоящее время я пытаюсь запустить приложение 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/ «Установка из командной строки».

3

Решение

Вот как:

Найдите пути 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, & оно работает. 🙂

3

Другие решения

Вы можете использовать platform установка в composer.json эмулировать версию PHP:

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

Composer будет предполагать, что версия PHP составляет 7.1 во время установки и обновления, даже если вы используете 7.0 для фактической установки.

Это повлияет только на установку и обновление Composer — если вы хотите запускать консольные команды вашего приложения, вам нужно будет использовать правильный двоичный файл (то же самое для веб-сервера). Однако установка этого параметра сделает ваши установки и обновления Composer более предсказуемыми, поэтому в любом случае это стоит сделать.

0

По вопросам рекламы [email protected]