Neukonfiguration von PHP 5.6 für MacOS 10.13 High Sierra

7

Ich muss PHP 5.6 auf einem Mac zum Laufen bringen, der auf 10.13 aktualisiert werden musste. Also habe ich 5.6 neu installiert, seinen Speicherort überprüft und es zu httpd.conf hinzugefügt:

LoadModule php5_module libexec/apache2/libphp5.so

... und stellte sicher, dass die Zeile für PHP 7 noch auskommentiert ist. Apache neu gestartet, und Apache startet gut, wirft keine Fehler und funktioniert, aber kein PHP! Als Test habe ich die PHP 5-Zeile auskommentiert und die PHP 7-Zeile auskommentiert:

LoadModule php7_module libexec/apache2/libphp7.so

... Apache neu gestartet und wieder funktioniert es gut, aber immer noch kein PHP! Also habe ich die httpd-Binärdatei abgefragt, um sicherzustellen, dass ich die richtige httpd.conf bearbeite und das bin ich. Keine der PHP-Versionen wird ausgeführt und verursacht dennoch keinen Fehler in Apache, wenn es gestartet wird. (Wenn ich sage, dass Apache ausgeführt wird, PHP jedoch nicht, bedeutet dies, dass ein Browser angezeigt wird:

<?php phpinfo(); ?>

... ohne es zu rendern. Hilfe? Ich habe keine Ideen mehr, um PHP 5.6 zum Laufen zu bringen.

CaymanCarver
quelle
Haben Sie den Rest der Konfiguration durchgeführt, die erforderlich ist, damit mod_php .phpDateien handhaben kann ?
womble
1
Nein, mir war nichts bekannt, was für eine saubere 10.13-Installation erforderlich war, außer die Zeile libphp7.so in httpd.conf zu kommentieren. Was habe ich verpasst?
CaymanCarver

Antworten:

4

Verwenden von PHP5.6 mit HighSierra

Aktivieren der Erstellung eines gemeinsam genutzten Apache Handler-Moduls Stellen Sie sicher, dass Sie die neueste Version von PHP56 zusammen mit der aktivierten http-Option installiert haben (entweder nach Bedarf installieren / aktualisieren / neu installieren).

$brew upgrade php56 --with-httpd

Verknüpfen des Moduls in der Apache2-Konfigurationsdatei Fügen Sie die folgende Anweisung in die Apache2-Konfigurationsdatei /etc/apache2/httpd.conf ein

LoadModule php5_module /usr/local/Cellar/php56/5.6.32_8/libexec/apache2/libphp5.so

oder für neuere Version 5.6.36_1 und höher (Credits an @avidenic)

LoadModule php5_module /usr/local/Cellar/[email protected]/5.6.36_1/lib/httpd/modules/libphp5.so

Hinzufügen der PHP5-Konfigurationsdatei

Erstellen Sie eine Kopie aus der php7.conf

$ cd /etc/apache2/other ; sudo cp php7.conf php5.conf

Ersetzen Sie in php5.conf php7_module durch php5_module

Starten Sie Apache Server neu

$ sudo /usr/sbin/apachectl restart
Raghav Tandon
quelle
Vielen Dank, dieser Punkt beim Erstellen einer php5.confDatei hat mich wesentlich gemacht!
Duncanmoo
für mich war libphp5.so in/usr/local/Cellar/[email protected]/5.6.36_1/lib/httpd/modules/libphp5.so
avidenic
1

Ich musste xcode stuff und php56 mit Apache-Unterstützung neu installieren, damit es wieder funktioniert.

xcode-select --install
brew reinstall php56 --with-httpd

libphp5.so wird vom Betriebssystem nicht mehr bereitgestellt, befindet sich jedoch im Dateisystem, da wir es gerade installiert haben. Sie müssen also Ihre Apache-Konfigurationsdatei ändern, um auch PHP5 zu aktivieren:

LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Kozma József
quelle
3
Ich hatte php56 bereits neu installiert und die LoadModule-Zeile in httpd.conf mit dem richtigen Pfadnamen auskommentiert. Apache startet gut, aber PHP-Skripte werden nicht gerendert.
CaymanCarver
0

Ich weiß nicht, ob Sie das wissen, aber High Sierra kommt mit einer eigenen PHP-Version. Versuchen Sie, diesen Code auszuführen:

für i in $ (Brühliste | grep php); braue deinstalliere $ i; erledigt

Dies funktionierte für mich, da ich das gleiche Problem hatte. Dann bemerkte ich, dass High Sierra versuchte, die Version zu laden und meine nicht auszuführen.

Gustavo
quelle
High Sierra kommt mit PHP 7. Nicht 5.6.
Axelbrz