Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

php7 und php8 nebeneinander?

1 view
Skip to first unread message

Dirk Alberti

unread,
Dec 20, 2022, 1:26:21 PM12/20/22
to
Hallo zusammen,

ich habe seit der Umstellung auf php8 das Problem, dass eine kleine
selbstgehostete Webseite nicht mehr funktioniert. Stelle ich auf php7
zurück, geht es wieder.
Konkret geht es um Patchfork, ein kleines WebGUI für MPD. Ampache und
andere hab ich mir angeschaut, die sind aber für meine Zwecke zu
überdimensioniert.
Zurück zum Thema:
Ist es auf dem Eisfair möglich, dass ich die Webseite von Patchfork mit
php7 betreibe, den Rest aber normal mit php8?

Ich hatte schon was gefunden, kriege das aber so nicht in Eisfair hin: [1]

Auch mittels .htaccess soll es was geben, aber auch damit kriege ich das
nicht hin. [2]

Ich habe php7-fpm und php8-fpm installiert, letzterer ist aktiviert.
Mit VHosts arbeite ich nicht, alles ist unter /var/www/htdocs
untergebracht oder in den Apache mittels /etc/apache2/mods-include
eingebunden.

Kann jemand weiterhelfen?

[1]
https://www.digitalocean.com/community/tutorials/how-to-run-multiple-php-versions-on-one-server-using-apache-and-php-fpm-on-ubuntu-18-04-de

[2]
https://kulturbanause.de/blog/php-version-per-htaccess-fuer-einzelne-verzeichnisse-aendern/

Rolf Bensch

unread,
Dec 21, 2022, 4:10:45 AM12/21/22
to
Hallo Dirk,

Am 20.12.22 um 19:26 schrieb Dirk Alberti:
in .htaccess sollte etwas in dieser Art funktionieren:

Action php7-script /cgi-bin7/php-cgi
AddHandler php7-script .php

Den Pfad müsstest Du anpassen und ich würde nach Änderung den Apache neu starten.

Grüße

Rolf

Dirk Alberti

unread,
Dec 21, 2022, 6:57:24 AM12/21/22
to
Hallo Rolf,


>
> in .htaccess sollte etwas in dieser Art funktionieren:
>
>    Action php7-script /cgi-bin7/php-cgi
>    AddHandler php7-script .php
>
> Den Pfad müsstest Du anpassen und ich würde nach Änderung den Apache neu
> starten.

Meinst Du mit "php7-script" das php-Script selber, oder muss das so
geschrieben werden? cgi-bin7 gibts bei mir nicht.

> Grüße
>
> Rolf

Dirk

Rolf Bensch

unread,
Dec 21, 2022, 7:35:49 AM12/21/22
to
Hallo Dirk,

Am 21.12.22 um 12:57 schrieb Dirk Alberti:
über diese Einträge triggere ich bei einem Provider die PHP-Versionen für verschiedene Web-Apps. Details weiß ich dazu wenig. M.E. müsste das so funktionieren:

- Du installierst die cgi-Version von php7 und findest das Installationsverzeichnis.
- in htaccess legst Du mit "Action" einen Handler-Namen (hier php7-script) fest und weist diesem das Installationverzeichnis zu
- mit "AddHandler" legst Du dann fest, dass der Handler "php7-script" für die Dateien ".php" verwendet werden soll

Die htaccess-Datei sollte im Root-Verzeichnis der Anwendung liegen.

Grüße

Rolf

Dirk Alberti

unread,
Dec 21, 2022, 8:53:49 AM12/21/22
to
Hallo Rolf,

Am 21.12.22 um 13:35 schrieb Rolf Bensch:
> Hallo Dirk,

> über diese Einträge triggere ich bei einem Provider die PHP-Versionen
> für verschiedene Web-Apps. Details weiß ich dazu wenig. M.E. müsste das
> so funktionieren:
>
> - Du installierst die cgi-Version von php7 und findest das
> Installationsverzeichnis.
> - in htaccess legst Du mit "Action" einen Handler-Namen (hier
> php7-script) fest und weist diesem das Installationverzeichnis zu
> - mit "AddHandler" legst Du dann fest, dass der Handler "php7-script"
> für die Dateien ".php" verwendet werden soll

okay,jetzt hab ich es verstanden.

In der .htaccess steht jetzt folgendes drin:

Action php7-script /usr/bin/php-cgi-7
AddHandler php7-script .php

Damit kriege ich einen Fehlerseite 500 und folgende Einträge im Log:

Invalid command 'Action', perhaps misspelled or defined by a module not
included in the server configuration

Also fehlt ihm wohl noch was.


> Grüße
>
> Rolf
>

Gruß, Dirk

Marcus Röckrath

unread,
Dec 21, 2022, 9:20:03 AM12/21/22
to
Hallo Dirk,

Dirk Alberti wrote:

> okay,jetzt hab ich es verstanden.
>
> In der .htaccess steht jetzt folgendes drin:
>
> Action php7-script /usr/bin/php-cgi-7
> AddHandler php7-script .php
>
> Damit kriege ich einen Fehlerseite 500 und folgende Einträge im Log:
>
> Invalid command 'Action', perhaps misspelled or defined by a module not
> included in the server configuration
>
> Also fehlt ihm wohl noch was.

Darf der Apache außerhalb von /var/www überhaupt zugreifen?

--
Gruß Marcus

Dirk Alberti

unread,
Dec 21, 2022, 11:41:23 AM12/21/22
to
Hallo Marcus,

Am 21.12.22 um 15:17 schrieb Marcus Röckrath:
wie meinst Du das? Meinst Du Zuriffsrechte auf /usr/bin/php-cgi-7 ?

Gruß, Dirk

Rolf Bensch

unread,
Dec 21, 2022, 1:49:04 PM12/21/22
to
Hallo Dirk,

Am 21.12.22 um 14:53 schrieb Dirk Alberti:
wie in https://httpd.apache.org/docs/2.2/de/mod/mod_actions.html zu
lesen ist, muss mod_actions aktiviert sein.

Dann bin ich nicht sicher ob absolute Pfade unterstützt werden. Evtl.
muss (wenn möglich) der cgi-Pfad in der Apache-Konfig angepasst werden.
Vielleicht hilft auch einfach ein "ln -s /usr/bin/php-cgi-7
/var/www/cgi-bin/php-cgi-7" und dann in htaccess "Action php7-script
/cgi-bin/php-cgi-7" <- ausprobieren.

Grüße

Rolf

Dirk Alberti

unread,
Dec 21, 2022, 3:00:17 PM12/21/22
to
Hallo Rolf,

Am 21.12.22 um 19:49 schrieb Rolf Bensch:
> Hallo Dirk,
>

> wie in https://httpd.apache.org/docs/2.2/de/mod/mod_actions.html zu
> lesen ist, muss mod_actions aktiviert sein.

okay, ich war davon ausgegangen, dass das von Haus aus schon aktiviert
wäre, was aber falsch war. Mittels Symlink
/etc/apache2/mods-available/actions.load nach
/etc/apache2/mods-enabled/actions.load mit Neustart des Apachen habe ich
dies nachgeholt.

Jetzt wird zumindest die Seite wieder angezeigt, aber die Inhalte fehlen
nach wie vor.


>
> Dann bin ich nicht sicher ob absolute Pfade unterstützt werden. Evtl.
> muss (wenn möglich) der cgi-Pfad in der Apache-Konfig angepasst werden.
> Vielleicht hilft auch einfach ein "ln -s /usr/bin/php-cgi-7
> /var/www/cgi-bin/php-cgi-7" und dann in htaccess "Action php7-script
> /cgi-bin/php-cgi-7" <- ausprobieren.


Das habe ich beides erfolglos ausprobiert.


> Grüße
>
> Rolf

Dirk

Rolf Bensch

unread,
Dec 22, 2022, 3:44:52 AM12/22/22
to
Hallo Dirk,

Am 21.12.22 um 21:00 schrieb Dirk Alberti:
> Hallo Rolf,
>
> Am 21.12.22 um 19:49 schrieb Rolf Bensch:
>> Hallo Dirk,
>>
>
>> wie in https://httpd.apache.org/docs/2.2/de/mod/mod_actions.html zu lesen ist, muss mod_actions aktiviert sein.
>
> okay, ich war davon ausgegangen, dass das von Haus aus schon aktiviert wäre, was aber falsch war.  Mittels Symlink
> /etc/apache2/mods-available/actions.load  nach /etc/apache2/mods-enabled/actions.load mit Neustart des Apachen habe ich dies nachgeholt.
>
> Jetzt wird zumindest die Seite wieder angezeigt, aber die Inhalte fehlen nach wie vor.

Seite? Inhalte? Die der Anwendung? Auch nach STRG-F5 im Browser?

Lege mal im Root-Verzeichnis eine Datei phpinfo.php mit folgendem Inhalt an:

<?php phpinfo(); ?>

Und rufe diese Datei über den Browser auf. Wenn dann in der Kopfzeile PHP7 zu erkennen ist, ist das Modul korrekt eingebunden und die Action-Direktive arbeitet. Falls weiterhin PHP8 verwendet wird, müssen die Apache-Logfiles Auskunft über das Problem geben.

Wenn PHP7 arbeitet und Du nicht den erwarteten Inhalt geliefert bekommst, liegt vermutlich ein Fehler in der CGI-Konfiguration vor. Hier sollte dann aber die Anwendung zielführende Logs bereitstellen - und sei es über die Entwickler-Konsole des Browsers (F12 im Browser)

Grüße

Rolf

Dirk Alberti

unread,
Dec 22, 2022, 2:01:15 PM12/22/22
to
Hallo Rolf

Am 22.12.22 um 09:44 schrieb Rolf Bensch:
> Hallo Dirk,
>

>
> Seite? Inhalte? Die der Anwendung? Auch nach STRG-F5 im Browser?

das hatte ich schon immer mit probiert, erfolglos.

Aber wir kommen der Sache näher:

>
> Lege mal im Root-Verzeichnis eine Datei phpinfo.php mit folgendem Inhalt
> an:
>
>    <?php phpinfo(); ?>
>
> Und rufe diese Datei über den Browser auf. Wenn dann in der Kopfzeile
> PHP7 zu erkennen ist, ist das Modul korrekt eingebunden und die
> Action-Direktive arbeitet.

Es wird weiterhin php8 verwendet. Wie es scheint, wird die .htaccess gar
nicht beachtet.


> Grüße
>
> Rolf

Grüße

Dirk

Rolf Bensch

unread,
Dec 23, 2022, 7:58:36 AM12/23/22
to
Hallo Dirk,

Am 22.12.22 um 20:01 schrieb Dirk Alberti:
>
> Es wird weiterhin php8 verwendet. Wie es scheint, wird die .htaccess gar nicht beachtet.

das gilt es zu klären. Logfiles? Rechteproblem? Was ergibt "ls -al .htaccess"?

Grüße

Rolf

Dirk Alberti

unread,
Dec 23, 2022, 10:30:45 AM12/23/22
to
Hallo Rolf,

Am 23.12.22 um 13:58 schrieb Rolf Bensch:
das sollte doch passen.

eisfair # ls -al .htaccess -rw-r-xr-x 1 wwwrun nogroup 257 Dec 22 21:45
.htaccess


Ich habe auch schon versucht, es übers Eisfair-Apache-Setup
einzurichten, im Punkt "Directory Settings + Aliases", aber auch da geht
zwar die Seite an sich, nur die Funktionalität nicht.

Vorher hatte ich es manuell in /etc/apache2/mods-include und dann in
/etc/apache2/vhost aktiviert, so wie ich das schon bei einigen Sachen
gemacht habe. Und unter php7 läuft es ja auch.


Das Logging vom Apache hab ich jetzt mal auch debug gsetzt und kriege
folgende Logeiträge, von denen ich vermute, dass sie daher kommen:

eisfair # cat /var/www/log/error_log|grep patchfork|grep 16:22

[Fri Dec 23 16:22:07.766641 2022] [proxy_ajp:debug] [pid 26930:tid
2964282112] mod_proxy_ajp.c(769): [client 192.168.1.2:46916] AH00894:
declining URL fcgi://localhost/usr/local/patchfork/player/index.php

[Fri Dec 23 16:22:07.766648 2022] [proxy_fcgi:debug] [pid 26930:tid
2964282112] mod_proxy_fcgi.c(1054): [client 192.168.1.2:46916] AH01076:
url: fcgi://localhost/usr/local/patchfork/player/index.php proxyname:
(null) proxyport: 0

[Fri Dec 23 16:22:07.766654 2022] [proxy_fcgi:debug] [pid 26930:tid
2964282112] mod_proxy_fcgi.c(1063): [client 192.168.1.2:46916] AH01078:
serving URL fcgi://localhost/usr/local/patchfork/player/index.php

[Fri Dec 23 16:22:07.766669 2022] [proxy:debug] [pid 26930:tid
2964282112] proxy_util.c(2596): [client 192.168.1.2:46916] AH00944:
connecting fcgi://localhost/usr/local/patchfork/player/index.php to
localhost:8000

[Fri Dec 23 16:22:07.766722 2022] [proxy:debug] [pid 26930:tid
2964282112] proxy_util.c(2819): [client 192.168.1.2:46916] AH00947:
connected /usr/local/patchfork/player/index.php to httpd-UDS:0

[Fri Dec 23 16:22:08.153003 2022] [proxy:debug] [pid 26931:tid
2932808448] mod_proxy.c(1503): [client 192.168.1.2:46918] AH01143:
Running scheme unix handler (attempt 0), referer:
http://howysnet.no-ip.biz/patchfork/player/index.php

[Fri Dec 23 16:22:08.153010 2022] [proxy_ajp:debug] [pid 26931:tid
2932808448] mod_proxy_ajp.c(769): [client 192.168.1.2:46918] AH00894:
declining URL fcgi://localhost/usr/local/patchfork/player/command.php,
referer: http://howysnet.no-ip.biz/patchfork/player/index.php

[Fri Dec 23 16:22:08.153017 2022] [proxy_fcgi:debug] [pid 26931:tid
2932808448] mod_proxy_fcgi.c(1054): [client 192.168.1.2:46918] AH01076:
url: fcgi://localhost/usr/local/patchfork/player/command.php proxyname:
(null) proxyport: 0, referer:
http://howysnet.no-ip.biz/patchfork/player/index.php

[Fri Dec 23 16:22:08.153023 2022] [proxy_fcgi:debug] [pid 26931:tid
2932808448] mod_proxy_fcgi.c(1063): [client 192.168.1.2:46918] AH01078:
serving URL fcgi://localhost/usr/local/patchfork/player/command.php,
referer: http://howysnet.no-ip.biz/patchfork/player/index.php

[Fri Dec 23 16:22:08.153038 2022] [proxy:debug] [pid 26931:tid
2932808448] proxy_util.c(2596): [client 192.168.1.2:46918] AH00944:
connecting fcgi://localhost/usr/local/patchfork/player/command.php to
localhost:8000, referer:
http://howysnet.no-ip.biz/patchfork/player/index.php

[Fri Dec 23 16:22:08.153045 2022] [proxy:debug] [pid 26931:tid
2932808448] proxy_util.c(2632): [client 192.168.1.2:46918] AH02545:
fcgi: has determined UDS as /run/php8-fpm.sock, referer:
http://howysnet.no-ip.biz/patchfork/player/index.php

[Fri Dec 23 16:22:08.153078 2022] [proxy:debug] [pid 26931:tid
2932808448] proxy_util.c(2819): [client 192.168.1.2:46918] AH00947:
connected /usr/local/patchfork/player/command.php to httpd-UDS:0,
referer: http://howysnet.no-ip.biz/patchfork/player/index.php


Vielleicht kannst Du damit was anfangen.


>
> Grüße
>
> Rolf


Gruß, Dirk

Rolf Bensch

unread,
Dec 23, 2022, 11:20:26 AM12/23/22
to
Hallo Dirk,

Am 23.12.22 um 16:30 schrieb Dirk Alberti:
> Hallo Rolf,
>
> Am 23.12.22 um 13:58 schrieb Rolf Bensch:
>> Hallo Dirk,
>>
>> Am 22.12.22 um 20:01 schrieb Dirk Alberti:
>>>
>>> Es wird weiterhin php8 verwendet. Wie es scheint, wird die .htaccess gar nicht beachtet.
>>
>> das gilt es zu klären. Logfiles? Rechteproblem? Was ergibt "ls -al .htaccess"?
>
> das sollte doch passen.
>
> eisfair # ls -al .htaccess -rw-r-xr-x 1 wwwrun nogroup 257 Dec 22 21:45 .htaccess

ja, das sehe ich auch so.

> Ich habe auch schon versucht, es übers Eisfair-Apache-Setup einzurichten, im Punkt "Directory Settings + Aliases", aber auch da geht zwar die Seite an sich, nur die Funktionalität nicht.

das geht jetzt an der Frage vorbei. Zur Lauffähigkeit des Scripts unter php8 kann ich nichts berichten.
>
> Vorher hatte ich es manuell in /etc/apache2/mods-include und dann in /etc/apache2/vhost aktiviert, so wie ich das schon bei einigen Sachen gemacht habe. Und unter php7 läuft es ja auch.
>
>
> Das Logging vom Apache hab ich jetzt mal auch debug gsetzt und kriege folgende Logeiträge, von denen ich vermute, dass sie daher kommen:
>
> eisfair # cat /var/www/log/error_log|grep patchfork|grep 16:22
>
> [Fri Dec 23 16:22:07.766641 2022] [proxy_ajp:debug] [pid 26930:tid 2964282112] mod_proxy_ajp.c(769): [client 192.168.1.2:46916] AH00894: declining URL fcgi://localhost/usr/local/patchfork/player/index.php
>
> [Fri Dec 23 16:22:07.766648 2022] [proxy_fcgi:debug] [pid 26930:tid 2964282112] mod_proxy_fcgi.c(1054): [client 192.168.1.2:46916] AH01076: url: fcgi://localhost/usr/local/patchfork/player/index.php proxyname: (null) proxyport: 0
>
> [Fri Dec 23 16:22:07.766654 2022] [proxy_fcgi:debug] [pid 26930:tid 2964282112] mod_proxy_fcgi.c(1063): [client 192.168.1.2:46916] AH01078: serving URL fcgi://localhost/usr/local/patchfork/player/index.php
>
> [Fri Dec 23 16:22:07.766669 2022] [proxy:debug] [pid 26930:tid 2964282112] proxy_util.c(2596): [client 192.168.1.2:46916] AH00944: connecting fcgi://localhost/usr/local/patchfork/player/index.php to localhost:8000
>
> [Fri Dec 23 16:22:07.766722 2022] [proxy:debug] [pid 26930:tid 2964282112] proxy_util.c(2819): [client 192.168.1.2:46916] AH00947: connected /usr/local/patchfork/player/index.php to httpd-UDS:0
>
> [Fri Dec 23 16:22:08.153003 2022] [proxy:debug] [pid 26931:tid 2932808448] mod_proxy.c(1503): [client 192.168.1.2:46918] AH01143: Running scheme unix handler (attempt 0), referer: http://howysnet.no-ip.biz/patchfork/player/index.php
>
> [Fri Dec 23 16:22:08.153010 2022] [proxy_ajp:debug] [pid 26931:tid 2932808448] mod_proxy_ajp.c(769): [client 192.168.1.2:46918] AH00894: declining URL fcgi://localhost/usr/local/patchfork/player/command.php, referer: http://howysnet.no-ip.biz/patchfork/player/index.php
>
> [Fri Dec 23 16:22:08.153017 2022] [proxy_fcgi:debug] [pid 26931:tid 2932808448] mod_proxy_fcgi.c(1054): [client 192.168.1.2:46918] AH01076: url: fcgi://localhost/usr/local/patchfork/player/command.php proxyname: (null) proxyport: 0, referer: http://howysnet.no-ip.biz/patchfork/player/index.php
>
> [Fri Dec 23 16:22:08.153023 2022] [proxy_fcgi:debug] [pid 26931:tid 2932808448] mod_proxy_fcgi.c(1063): [client 192.168.1.2:46918] AH01078: serving URL fcgi://localhost/usr/local/patchfork/player/command.php, referer: http://howysnet.no-ip.biz/patchfork/player/index.php
>
> [Fri Dec 23 16:22:08.153038 2022] [proxy:debug] [pid 26931:tid 2932808448] proxy_util.c(2596): [client 192.168.1.2:46918] AH00944: connecting fcgi://localhost/usr/local/patchfork/player/command.php to localhost:8000, referer: http://howysnet.no-ip.biz/patchfork/player/index.php
>
> [Fri Dec 23 16:22:08.153045 2022] [proxy:debug] [pid 26931:tid 2932808448] proxy_util.c(2632): [client 192.168.1.2:46918] AH02545: fcgi: has determined UDS as /run/php8-fpm.sock, referer: http://howysnet.no-ip.biz/patchfork/player/index.php
>
> [Fri Dec 23 16:22:08.153078 2022] [proxy:debug] [pid 26931:tid 2932808448] proxy_util.c(2819): [client 192.168.1.2:46918] AH00947: connected /usr/local/patchfork/player/command.php to httpd-UDS:0, referer: http://howysnet.no-ip.biz/patchfork/player/index.php
>
>
> Vielleicht kannst Du damit was anfangen.

Nein. Aber ich denke, die greps sind auch nicht zielführend. Du könntest im Bereich des Startvorgangs des Apache vielleicht eine Meldung zur htaccess bzw. mod_actions finden, die Aufschluss über das Ignorieren der htaccess gibt. Wenn ich im Netz danach suche, finde ich https://devanswers.co/apache-ignoring-htaccess-file-ubuntu/ . Vielleicht hilft das weiter.

Grüße

Rolf

Dirk Alberti

unread,
Dec 23, 2022, 3:03:53 PM12/23/22
to
Hallo Rolf

Am 23.12.22 um 17:20 schrieb Rolf Bensch:
>> Vielleicht kannst Du damit was anfangen.
>
> Nein. Aber ich denke, die greps sind auch nicht zielführend. Du könntest
> im Bereich des Startvorgangs des Apache vielleicht eine Meldung zur
> htaccess bzw. mod_actions finden, die Aufschluss über das Ignorieren der
> htaccess gibt.

Eine direkte Log-Datei des Apache habe ich noch nicht gefunden, wo sowas
geloggt wird. Nur die access- und error-Logs.

Wenn ich im Netz danach suche, finde ich
> https://devanswers.co/apache-ignoring-htaccess-file-ubuntu/ . Vielleicht
> hilft das weiter.
>

Das habe ich auch schon ausprobiert. Steht alles schon so drin in den
Configs.


> Grüße
>
> Rolf
>

Dirk
0 new messages