Composer и 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) эти версии. У меня вопрос: как я могу указать композитору использовать определенную версию PHP, установленную на сервере, и как это может работать в Debian с Plesk?

Обновлено: я не устанавливал Composer глобально. Просто https://getcomposer.org/download/ "Установка из командной строки".

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
0
846
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вот как:

Найдите пути 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 более предсказуемыми, так что в любом случае это стоит сделать.

Другие вопросы по теме