Назад | Перейти на главную страницу

Лучший способ сделать 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 с обычными оболочками.

Способ импортировать коллекцию программного обеспечения в вашу текущую оболочку (не запускать вспомогательную оболочку) - это исходный файл «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) не влияет на версию коллекции программного обеспечения.

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