wake-up-neo.net

Wie Sie httpd zwingen, rh-php56 aus den Red Hat-Software-Sammlungen zu verwenden

Hat jemand Glück, dass httpd rh-php56 aus den Red Hat Software Collections verwendet? 

Ich sehe eine Dokumentation, wie man die neuere Version von PHP auf der CLI aktiviert ... aber nicht, damit Apache die neue Version von PHP verwendet, die über das rh-php56-Paket installiert wird. 

(Ich sollte klarstellen - dies ist für eine RHEL 7.x-Box)

10
Mike Broyles

rh-php56 bietet mod_php nur für httpd24 (nicht für das Basissystem)

Einfacher geht es mit php-fpm (was auch die Ausführung von Apache im Threadmodus erlaubt)

Sehen:

Um den obigen Beitrag zusammenzufassen, verwenden Sie in /etc/httpd/conf.d/php.conf

# Redirect to local php-fpm is mod_php not available
<IfModule !mod_php5.c>
    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</IfModule>
5
Remi Collet

Fügen Sie den Befehl LoadModule zu Ihrer httpd.conf hinzu und verweisen Sie ihn von RHSCL auf das Modul php56:

LoadModule php5_module /opt/rh/httpd24/root/usr/lib64/httpd/modules/librh-php56-php5.so

Dies scheint im Allgemeinen für mich zu funktionieren, aber ich habe nur das grundlegende Seiten-Rendering getestet. Es würde mich nicht wundern, wenn beim Laden eines Special Collections-Moduls in der regulären Apache-Konfiguration einige Fehler auftreten. RH Special Collections-Pakete werden absichtlich in einem völlig anderen Teil des Dateisystems installiert, um Konflikte zu vermeiden. Sie sollten die Verwendung von HTTPD24 aus der RHSCL zusammen mit PHP56 in Betracht ziehen, um Konfigurationsprobleme zu vermeiden.

1
GracefulCode

Ich musste erst kürzlich ein Upgrade auf php56 für einige PHP - Webapps auf einem RHEL 7-Rechner durchführen. Ich habe mir die httpd24-Route angesehen und aus irgendeinem Grund scheint es viel einfacher zu sein, einfach das nginx RHEL-Paket mit rh-php56-php und rh-php56-php-fpm zu verwenden.

  1. Installieren Sie die benötigten rh-php56-php-Pakete
  2. aktivieren und starten Sie den rh-php56-php-fpm systemd-Dienst und konfigurieren Sie php-fpm in /etc/opt/rh/rh-php56/ (d. h. bearbeiten Sie die Dateien php-fpm.conf und php-fpm.d/www.conf). Sie müssen entscheiden, ob php-fpm mindestens einen Unix-Socket oder über TCP abhören soll. Außerdem sollten Sie die Protokollierung ordnungsgemäß konfigurieren, um die Problembehandlung zu erleichtern.
  3. Konfigurieren Sie nginx so, dass ein Proxy an Ihren php-fpm-Unix-Socket oder die TCP -Adresse gesendet wird, z. B. localhost:9000. In der Nginx-Konfiguration für php-fpm und Drupal/Mediawiki/Wordpress/usw. gibt es viele nützliche Ressourcen.
0
A Lee