Лучший способ сделать RHSCL PHP доступным по всему миру

Лучший способ сделать RHSCL PHP доступным по всему миру

Я установил RHSCL 2, используя следующий URL:

https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/2/html/2.0_Release_Notes/chap-Installation.html

с помощью менеджера подписок 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 с обычными оболочками.

решение1

Способ импорта коллекции программного обеспечения в текущую оболочку (не запуская дочернюю оболочку) заключается в получении файла «enable».

Например, для rh-php56 на машине Redhat 7...

источник /opt/rh/rh-php56/enable

Теперь вы можете запустить «php» или прочитать страницы руководства «man php» как обычно.

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

Вы также можете скопировать (или создать символическую ссылку) файл включения в /etc/profile.d/ с суффиксом «.sh», чтобы автоматически включить его для ВСЕХ пользователей.

Например

ln -s /opt/rh/rh-php56/enable /etc/profile.d/rh-php56.sh

Будьте осторожны, делая это, если требуется больше, чем среда (например, демоны?). Или если в системе присутствует несколько версий этого программного обеспечения (для обратной совместимости с другим программным обеспечением/службами), так как между версиями может быть взаимодействие. Также пользователи могут не захотеть «последнюю» версию или не понять, почему «базовая» система (например, /etc configs) не влияет на версию коллекции программного обеспечения.

Энтони Тиссен (Очень старый системный администратор)

Связанный контент