HTTP/2 und PHP-FPM

bubsgbr

Member
Hallo zusammen...

Ich versuche einen Webserver auf HTTP/2 umzustellen. Allerdings scheitert es an PHP. Webseiten ohne PHP funktionieren. Mit prefork funktionieren auch die PHP Seiten.

Apache ist in der Version 2.4.48 und PHP in der Version 7.3.29 im Einsatz. Die PHP Sockets liegen unter /var/lib/php5-fpm . Die VHOSTS enthalten z.B.

<Directory /var/www/clients/client1/web1/web>
<FilesMatch "\.php[345]?$">
<If "-f '%{REQUEST_FILENAME}'">
SetHandler "proxy:unix:/var/lib/php5-fpm/web1.sock|fcgi://localhost"
</If>
</FilesMatch>
</Directory>

Auch das ISPConfig Interface ist dann nicht mehr erreichbar. Ich erhalte bei allen PHP Seiten einen 403 Error.
 

DarkTrinity

Member
PHP 5 ??

Also bei lautet der Snip in den Vhosts:
Code:
SetHandler "proxy:unix:/var/lib/php7.4-fpm/web1.sock|fcgi://localhost"

Was mich aber auch gerade wundert, denn dieser Host läuft eigentlich auf PHP8 ^^

Aber wahrscheinlich/hoffentlich spielt der Pfad sowie der Name der Socketdatei letztendlich keine wirkliche Rolle aus technischer Sicht.

Was sagen denn die log files ?
Mach mal
Code:
tail /var/log/php7.3-fpm.log
 
Zuletzt bearbeitet:

bubsgbr

Member
Genau. Die Sockets sind nur definierte Pfadangaben. Das ist bei mir halt /var/lib/php5-fpm.

Und mit apache prefork funktioniert es ja auch, nur wenn ich auf apache event wechsle, dann klemmt es.

AH01630: client denied by server configuration: /var/www/clients/clientX/webX/web/index.php

taucht im Log des Vhosts auf.
 

DarkTrinity

Member
Der Apache sollte ür http2 aber auf npm laufen anstelle von prefork ..

Gehe doch maql das hier durch -> Apache Docs

Und guck mal ob der ausführende user stimmt
Code:
ps -ef|grep php-fpm
 
Zuletzt bearbeitet:

bubsgbr

Member
Also aktuell läuft der Server mit prefork und php-fpm. Aber halt nur mit http/1

Ich deinstalliere natürlich apache-mod_php und apache-prefork und installiere apache-mpm-event.
 

Till

Administrator
Die Umstellung sollte im grpßen und ganzen so gehen:

---------------------------------------------
PHP von mod_php auf PHP-FPM umstellen
---------------------------------------------
a2enmod proxy_fcgi setenvif
a2enconf php7.3-fpm
a2dismod php7.3
systemctl restart apache2

----------------------------------------------
Apache von mpm_prefork auf mpm_event umstellen
----------------------------------------------

a2dismod mpm_prefork
a2enmod mpm_event
systemctl restart apache2

Wenn das nicht funktioniert, könnte man ggf. versuchen mpm_worker
statt mpm_event zu aktivieren.

----------------------------------------------
Apache http/2 Modul aktivieren
----------------------------------------------
a2enmod http2
systemctl restart apache2
 

Werbung

Top