Der beste Weg, RHSCL PHP weltweit verfügbar zu machen

Der beste Weg, RHSCL PHP weltweit verfügbar zu machen

Ich habe RHSCL 2 mit der folgenden URL installiert:

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

mithilfe des RedHat-Abonnementmanagers.

Ich rannte dann, yum remove php*gefolgt vonyum install rh-php56

Alles lief reibungslos, außer dass PHP jetzt nirgendwo zu finden ist. Ich habe es dann ausgeführt und in den folgenden Verzeichnissen find / -name phpgefunden :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

Wie lassen sich diese Binärdateien am besten in ein Verzeichnis /usr/binoder ein anderes Verzeichnis übertragen, das normalerweise global für alle Benutzer verfügbar ist?

Habe ich beim Installieren der Pakete einen Schritt übersehen, weshalb es nicht global verfügbar ist? Oder passiert das einfach, wenn man RHSCLs verwendet?

Ich habe die Binärdateien in diesen Ordnern getestet und sie funktionieren, wenn ich sie ausführe, php -valso funktioniert es einwandfrei.

Mein erster Gedanke ist, einfach cpin /binoder einzusteigen /usr/bin, aber vielleicht gibt es eine offizielle Möglichkeit, das zu tun, worum ich bitte?

bearbeiten

Kann keinen Kommentar abgeben, keine Antwort... in Kapitel 3 des Links, den ich gepostet habe, heißt es, dass Softwaresammlungspakete folgendermaßen ausgeführt werden müssen:

scl enable rh-php56 'php -v'

Das funktioniert zwar, aber wie bekomme ich es dazu, es für alle Benutzer $ php -vohne zusätzliche Befehle auszuführen? Ich brauche die PHP-Binärdateien global verfügbar, damit Webserver sie verwenden können und SSH-Benutzer mit normalen Shells.

Antwort1

Um eine Softwaresammlung in Ihre aktuelle Shell zu importieren (nicht um eine Unter-Shell zu starten), müssen Sie die Datei „enable“ als Quelle verwenden.

Zum Beispiel für rh-php56 auf einer Redhat 7-Maschine ...

Quelle /opt/rh/rh-php56/enable

Sie können jetzt wie gewohnt „php“ ausführen oder die Manpages „man php“ lesen.

Dadurch werden die entsprechenden Umgebungsvariablen zur aktuellen Shell-Umgebung hinzugefügt. Einzelne Benutzer können dies in ihren .bashrc-Dateien tun, sodass es über SSH (nicht interaktive Shells) verfügbar ist.

Sie können die Aktivierungsdatei auch mit der Endung „.sh“ in /etc/profile.d/ kopieren (oder einen symbolischen Link dazu erstellen), um sie automatisch für ALLE Benutzer zu aktivieren.

Zum Beispiel

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

Seien Sie dabei vorsichtig, wenn mehr als eine Umgebung benötigt wird (z. B. Daemons?). Oder wenn mehrere Versionen dieser Software auf einem System vorhanden sind (aus Gründen der Abwärtskompatibilität mit anderer Software/anderen Diensten), da es zu Interaktionen zwischen den Versionen kommen kann. Außerdem möchten Benutzer möglicherweise nicht die „neueste“ Version oder sind verwirrt, warum das „Basis“-System (z. B.: /etc-Konfigurationen) die Version der Softwaresammlung nicht beeinflusst.

Anthony Thyssen (ein sehr alter Systemadministrator)

verwandte Informationen