Jump to content
Froxlor Forum
  • 0

PHP-FPM 7.4 + 8.0 gleichzeitiges Ausführen -> Problem


Question

Hallo an alle,

habe nun PHP 8 mal installiert und wollte PHP 7.4 in verschiedenen Projekten vorerst weiternutzen.

Vorgangsweise in Froxlor:

  • PHP-FPM Versionen -> Neue PHP Version erstellen -> PHP7 - PHP7 - systemctl restart php-fpm7 - /etc/php/7/fpm/pool.d/dynamic
  • PHP-Konfigurationen -> Neue PHP Konfiguration erstellen ->   PHP 7 Konfiguration erstellt
  • Domains -> und in der entsprechenden Domain die PHP7 Konfiguration zugewiesen
  • Der Benutzer hat auch die entsprechenden Rechte zur Ausführung der beiden Konfigurationen bekommen im Bereich Kunden.
  • Danach Cronjob ausgeführt.

Im Ergebnis erhalte ich im Ordner /etc/php/conf.d das entsprechende Socket mit der 2-<<benutzername>>-<<domain>>.socket

  • php-fpm und php-fpm7 sind gestartet

Das Problem ist nun, dass die entsprechende Seite welche auf PHP7 laufen soll, weiter unter der Standardkonfiguration (PHP 8 ) läuft, das zeigt auch der Status von php-fpm über systemctl. 

Vielleicht hat der eine oder andere eine Idee, würde mich freuen. :)

 

EDIT: Okay das erste Problem was ich erkenne ist, dass die socket-Dateien nicht in /etc/php/conf.d sondern in /etc/php7/conf.d liegen sollten.

Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

1) Den Konfigurationsordner musst du natürlich passend für die php-version einstellen, debian default: /etc/php/{version}/fpm/pool.d/

2) Erlaube dem Kunden die neue Config

3) Weise den entsprechenden Domains die fpm config zu

Link to post
Share on other sites
  • 0

Okay das hat mir schonmal geholfen, ich nutze aber ArchLinux und dort ist der Pfadaufbau etwas anders:

PHP8 = /etc/php/php-fpm.d + /etc/php/conf.d

PHP7 = /etc/php7/php-fpm.d + /etc/php7/conf.d

Schaue ich mir nun eine Konfigurationsdatei in conf.d zu einer Webseite für welche PHP7 zugewiesen wurde an steht darin:

listen = /etc/php/conf.d/2-xxxxx-php-fpm.socket

Ich denke, dass dort genau mein Fehler liegt denn php-fpm7 gibt den Fehler aus:

[ERROR] unable to bind listening socket for address '/etc/php/conf.d/2-xxxxxx.de-php-fpm.socket': Read-only file system (30)

Hier müsste bei listen wohl eher /etc/php7/conf.d/... stehen.
 

Link to post
Share on other sites
  • 0

Wieder ein Stück weiter, hab es zwar gelesen aber erst hat's geklickt.

In "/usr/lib/systemd/system/php-fpm7.service" musste ich "ProtectSystem=full" auskommentieren, dann startete der php-fpm7.service schonmal.

Die erste Webseite funktioniert nun schonmal mit PHP7. Wenn ich nun in den Domains die nächste Webseite auf die PHP7-Konfiguration setze und danach den Cronjob ausführe legt er zwar die Config-File an aber wechselt nicht zu php-fpm7.service, also der socket bleibt vorn mit "1-..." und wird nicht zu "2-...". Ich probiere mal weiter.

Link to post
Share on other sites
  • 0

Poste doch Mal die configs und den vhost und ggfls logs...so kann man nur schwer helfen

Link to post
Share on other sites
  • 0

Danke, es ist nun alles wie es soll. 😄 Musste den Pfad noch von "/etc/php7/conf.d" auf /etc/php7/php-fpm.d" ändern und schon funktioniert alles wunderbar, vielen Dank für die Hilfe. 👍

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...