Skip to content
View in the app

A better way to browse. Learn more.

Froxlor Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

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.

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

  • Author

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.
 

Da sollte eher nicht "read only filesystem" stehen

  • Author

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.

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

  • Author

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. 👍

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.