Я установил RHSCL 2, используя следующий URL:
с помощью менеджера подписок RedHat.
Я тогда побежал yum remove php*
с последующим yum install rh-php56
Все прошло гладко, только теперь PHP нигде не встречается. Я тогда побежал find / -name php
и нашел rh-php56
в следующих каталогах:
/var/opt/rh/rh-php56/lib/php
/opt/rh/rh-php56/register.content/var/opt/rh/rh-php56/lib/php
/opt/rh/rh-php56/root/usr/bin/php
/opt/rh/rh-php56/root/usr/lib64/php
/opt/rh/rh-php56/root/usr/share/php
Как лучше всего поместить эти двоичные файлы в /usr/bin
или любой другой каталог, который обычно глобально доступен для всех пользователей?
Я пропустил шаг при установке пакетов, поэтому он недоступен глобально? Или это просто то, что происходит при использовании RHSCL?
Я протестировал двоичные файлы в этих папках, и они работают, когда я запускаю php -v
так что он работает нормально.
Моя первая мысль - просто cp
в /bin
или /usr/bin
но, может быть, есть официальный способ сделать то, о чем я прошу?
редактировать
Не могу комментировать, без ответа ... из главы 3 опубликованной мной ссылки говорится, что пакеты сбора программного обеспечения должны запускаться следующим образом:
scl enable rh-php56 'php -v'
Что действительно работает ... однако как мне заставить его работать для всех пользователей, таких как $ php -v
без дополнительных команд. Мне нужны глобально доступные двоичные файлы php, чтобы веб-серверы могли использовать их, а пользователи ssh с обычными оболочками.
Способ импортировать коллекцию программного обеспечения в вашу текущую оболочку (не запускать вспомогательную оболочку) - это исходный файл «enable».
Например, для rh-php56 на машине Redhat 7 ...
источник / opt / rh / rh-php56 / включить
Теперь вы можете запускать «php» или читать справочные страницы «man php» как обычно.
который добавит соответствующие переменные среды в текущую среду оболочки. Отдельные пользователи могут делать это в файлах .bashrc, что делает их доступными через SSH (неинтерактивные оболочки).
Вы также можете скопировать (или создать символическую ссылку) файл включения в /etc/profile.d/ с суффиксом «.sh», чтобы автоматически включить его для ВСЕХ пользователей.
Например
ln -s / opt / rh / rh-php56 / включить /etc/profile.d/rh-php56.sh
Будьте осторожны, если требуется нечто большее, чем окружение (например, демоны?). Или, если в системе присутствует несколько версий этого программного обеспечения (для обратной совместимости с другим программным обеспечением / услугами), поскольку между версиями может существовать взаимодействие. Также пользователи могут не захотеть иметь «последнюю» версию или запутаться в том, почему «базовая» система (например, / etc configs) не влияет на версию коллекции программного обеспечения.
Энтони Тиссен (очень старый системный администратор)