Можно ли изменить версию php в консоли относительно папки проекта
На сервере есть несколько проектов, и у каждого своя версия php (где-то 8, 7.3 і т.д.), и у некоторых проектов есть консольные команды, выполнять которые нужно от разных версий php, есть ли возможность перелинковать /usr/bin/php7.3 в папке test.project на просто php и естественно чтобы в каталоге test.project2 php было версией 8 и т.д. Можно ли такое реализовать на линуксе?
Ответы (1 шт):
Разумеется. Создаёте в каждой папке символическую ссылку на нужный бинарник PHP и запускаете либо как ./php либо просто php, добавив . в начало PATH.
ln -s /usr/bin/php7.3 <path_to>/test.project/php
ln- s /usr/bin/php8 .<path_to>/test.project2/php
Как вы вызываете PHP в скриптах? Если просто как PHP, то команда PATH=<path_to>/test.project/:$PATH test_script.sh запустит скрипт с окружением, в котором в переменной PATH первым сегментом будет стоять test.project. Поэтому bash запустит php из каталога test.project, то есть символическую ссылку на тот бинарник, который вам нужен.