Определить версию PHP для модуля Ansible composer

Я запускаю следующую задачу в некотором сценарии развертывания для приложения PHP:

- name: Update composer dependencies
  composer:
    command: update
    working_dir: "{{ release_path }}/src"
    ignore_platform_reqs: true

В целевой системе версия CLI PHP — 7.3, но есть также бинарный /usr/bin/php7.2, который я хочу использовать.

Как я могу использовать модуль композитора и запустить с ним определенную версию PHP... или мне нужно запустить это через модуль оболочки, как это?

- name: Update composer dependencies
  shell: "/usr/bin/php7.2 composer update"
  args:
    chdir: "{{ release_path }}/src"

С моей стороны /usr/bin/composer это исполняемый файл, и у него есть крутая штука #!/usr/bin/php. Я бы проверил, указывает ли эта символическая ссылка /usr/bin/php на правильный двоичный файл php (ls -l /usr/bin/php). После этого вы можете запускать composer прямо из вашего скрипта, и все другие инструменты, вызывающие php, также будут использовать правильную версию.

Michael D. 08.04.2019 00:54

@Майкл Д. Спасибо за это, но это не вариант. Значение по умолчанию php должно указывать на текущую версию php 7.3. Я просто хочу запустить эту конкретную команду с другой версией php.

codedge 08.04.2019 09:14
Стоит ли изучать 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 и хотите разрабатывать...
0
2
367
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

В соответствии с документом Ansible для Композитор есть возможность указать исполняемый файл php, который вы хотите использовать.

Таким образом, вы можете использовать что-то вроде ниже для вашего случая

- name: Update composer dependencies
  composer:
    command: update
    working_dir: "{{ release_path }}/src"
    ignore_platform_reqs: true
    executable: /usr/bin/php7.2

Я вообще упустил из виду этот вариант. Спасибо, это решение.

codedge 08.04.2019 09:27

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