Я установил 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 с обычными оболочками.
источник
scl enable rh-php56 command
, что сложно. Включение его глобально через ответ @ antofthy намного более элегантно.Ответы:
Чтобы импортировать коллекцию программного обеспечения в вашу текущую оболочку (не запускать вложенную оболочку), используйте исходный файл «enable».
Например, для rh-php56 на машине Redhat 7 ...
Теперь вы можете запустить "php" или читать manpages "man php" как обычно.
это добавит соответствующие переменные среды в текущую среду оболочки. Отдельные пользователи могут делать это в файлах .bashrc, что позволяет ему быть доступным из SSH (неинтерактивные оболочки)
Вы также можете скопировать (или символическую ссылку) файл включения в /etc/profile.d/ с суффиксом «.sh», чтобы автоматически включить его для ВСЕХ пользователей.
Например
Делайте это, если нужно больше, чем среда (например, демоны?). Или, если в системе присутствует несколько версий этого программного обеспечения (для обратной совместимости с другим программным обеспечением / службами), возможно взаимодействие между версиями. Кроме того, пользователи могут не захотеть «последнюю» версию или запутаться в том, почему «базовая» система (EG: / etc config) не влияет на версию коллекции программного обеспечения.
Энтони Тиссен (очень старый системный администратор)
источник
source scl_source enable python33