Heim >Backend-Entwicklung >PHP-Problem >Besprechen und fassen Sie einige Gründe und Lösungen zusammen, warum PHP-FPM nicht wirksam wird
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
usermod -a -G www-data username chown -R www-data:www-data /var/www/html chmod -R 755 /var/www/htmlWenn 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.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!