Heim >Backend-Entwicklung >PHP-Problem >Besprechen und fassen Sie einige Gründe und Lösungen zusammen, warum PHP-FPM nicht wirksam wird

Besprechen und fassen Sie einige Gründe und Lösungen zusammen, warum PHP-FPM nicht wirksam wird

PHPz
PHPzOriginal
2023-04-12 20:38:511368Durchsuche

PHP-FPM ist ein häufig verwendeter FastCGI-Manager. Viele Websites verwenden ihn zur Verarbeitung von PHP-Skripten, aber manchmal kommt es vor, dass PHP-FPM nicht wirksam wird. In diesem Artikel werde ich einige mögliche Ursachen und deren Behebung untersuchen.

Zuerst müssen wir überprüfen, ob PHP-FPM ausgeführt wird. Dies kann überprüft werden durch:

systemctl status php-fpm

Wenn PHP-FPM nicht gestartet ist, müssen Sie es starten:

systemctl start php-fpm

Wenn es bereits läuft, können Sie diesen Schritt überspringen und weiter nach anderen potenziellen Problemen suchen.

Zweitens müssen wir sicherstellen, dass die Konfigurationsdatei von PHP-FPM korrekt ist. Standardmäßig verfügt die PHP-Version über eine eigene Standardkonfigurationsdatei. Wenn wir jedoch einige Einstellungen ändern müssen, müssen wir diese überschreiben und die Konfigurationsdatei neu laden.

Überprüfen Sie als Nächstes, ob Ihre Nginx-Konfigurationsdatei korrekt ist. In der Konfigurationsdatei von Nginx müssen wir sicherstellen, dass der richtige PHP-FPM-Socket oder -Port verwendet wird. Normalerweise sehen wir die folgenden Einstellungen in der Nginx-Konfigurationsdatei:

location ~ \.php$ {
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
    include fastcgi_params;
}

Im obigen Beispiel sendet Nginx die Anfrage an die Socket-Datei von PHP-FPM. Wenn unser PHP-FPM einen Port überwacht, müssen wir ihn in fastcgi_pass 127.0.0.1:9000; ändern, wobei 9000 der Standardport ist. fastcgi_pass 127.0.0.1:9000;,其中9000是默认端口。

如果您最近更新了PHP版本,则还需要确保PHP模块可用。可以通过运行以下命令来检查PHP模块是否已加载:

php -m

如果PHP-FPM和Nginx都已正确配置,但PHP脚本仍然没有被正确处理,则可能是由于权限问题。PHP-FPM运行在WWW用户下,并且它对文档根目录(通常为/var/www/html

Wenn Sie Ihre PHP-Version kürzlich aktualisiert haben, müssen Sie auch sicherstellen, dass das PHP-Modul verfügbar ist. Sie können überprüfen, ob das PHP-Modul geladen ist, indem Sie den folgenden Befehl ausführen:

usermod -a -G www-data username
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
Wenn sowohl PHP-FPM als auch Nginx korrekt konfiguriert sind, das PHP-Skript aber immer noch nicht korrekt verarbeitet wird, kann dies an Berechtigungsproblemen liegen. PHP-FPM läuft unter dem WWW-Benutzer und verfügt über die höchsten Berechtigungen für das Dokumentstammverzeichnis (normalerweise /var/www/html). Wenn die Berechtigungen von Ordnern und Dateien eingeschränkt sind, kann dies dazu führen, dass PHP-Skripte nicht ordnungsgemäß ausgeführt werden.

Um sicherzustellen, dass PHP-FPM nicht aufgrund von Berechtigungsproblemen nicht wirksam wird, stellen Sie bitte sicher, dass WWW-Benutzer vollen Zugriff auf Ihr Dokumentstammverzeichnis haben. Der WWW-Benutzer kann mit dem folgenden Befehl geändert werden:

rrreee

Das obige Beispiel ändert den WWW-Benutzer und legt den Besitz und die Berechtigungen der Ordner und Dateien auf den WWW-Benutzer und 755 fest. Dadurch wird sichergestellt, dass PHP-FPM vollen Zugriff auf das Dokumentstammverzeichnis hat und PHP-Skripte ordnungsgemäß ausgeführt werden können.
  1. Kurz gesagt, wenn PHP-FPM nicht wirksam wird, müssen wir die folgenden Aspekte überprüfen:
  2. Überprüfen Sie, ob PHP-FPM ausgeführt wird.
  3. Überprüfen Sie, ob die PHP-FPM-Konfigurationsdatei korrekt ist.
  4. Überprüfen Sie, ob Nginx Die Konfigurationsdatei ist korrekt.
  5. Überprüfen Sie, ob das PHP-Modul verfügbar ist.

Stellen Sie sicher, dass WWW-Benutzer vollständigen Zugriff auf das Dokumentstammverzeichnis haben.

🎜🎜 Durch Überprüfen dieser möglichen Probleme sollten Sie in der Lage sein, das Problem zu beheben, dass PHP-FPM nicht funktioniert. 🎜

Das obige ist der detaillierte Inhalt vonBesprechen und fassen Sie einige Gründe und Lösungen zusammen, warum PHP-FPM nicht wirksam wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn