Heim >Backend-Entwicklung >PHP-Problem >Was soll ich tun, wenn Mac Nginx PHP-Dateien nicht analysieren kann?
Es ist ein üblicher Vorgang, Nginx zum Erstellen eines Webservers auf einem Mac zu verwenden. Manchmal tritt jedoch das Problem auf, dass Nginx keine PHP-Dateien analysieren kann. In diesem Fall wird die PHP-Datei beim Zugriff direkt heruntergeladen, anstatt sie zu analysieren und auszuführen, was zu Unannehmlichkeiten für die Webentwicklung führt.
In diesem Artikel erfahren Sie, wie Sie das Problem lösen können, dass Nginx PHP-Dateien nicht analysieren kann, wenn Nginx zum Erstellen eines Webservers auf einem Mac verwendet wird. Es umfasst hauptsächlich die folgenden Aspekte:
Nginx unterstützt standardmäßig kein PHP-Parsing und PHP-FPM muss zur Implementierung des PHP-Parsings verwendet werden. Nachdem PHP-FPM gestartet wurde, stellt es eine Socket-Verbindung mit Nginx her und leitet die Anfrage zur Verarbeitung an den PHP-FPM-Prozess weiter. Anschließend gibt PHP-FPM die Verarbeitungsergebnisse an Nginx zurück, und Nginx gibt die Ergebnisse schließlich an den Client zurück.
Daher kann es folgende Gründe geben, warum Nginx PHP-Dateien nicht analysieren kann:
Aus den oben genannten Gründen werden die folgenden Methoden angewendet, um sie zu lösen.
2.1 PHP-FPM installieren
Zuerst müssen Sie PHP-FPM installieren. Sie können es mit Homebrew installieren:
brew install php-fpm
Nachdem die Installation abgeschlossen ist, können Sie mit dem folgenden Befehl überprüfen, ob die Installation erfolgreich war:
php-fpm -v
Wenn die PHP-Versionsinformationen angezeigt werden, bedeutet dies, dass die Installation erfolgreich war.
2.2 PHP-FPM starten
Nach der Installation von PHP-FPM müssen Sie den PHP-FPM-Prozess starten:
sudo php-fpm
Nach dem Start können Sie mit dem folgenden Befehl überprüfen, ob PHP-FPM erfolgreich gestartet wurde:
ps aux | grep php-fpm
If Informationen ähnlich der folgenden werden angezeigt und zeigen an, dass PHP-FPM erfolgreich gestartet wurde:
_www 49202 0.0 0.7 5871400 11664 ?? S 11:42上午 0:00.03 php-fpm: pool www
2.3 Konfigurieren Sie Nginx
Fügen Sie die PHP-Parsing-Konfiguration in der Nginx-Konfigurationsdatei hinzu. Sie können den folgenden Inhalt im Serversegment hinzufügen:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Parsing Anweisungen:
location ~ .php $
: Zeigt die Übereinstimmung aller Anfragen an, die mit .php enden.location ~ .php$
:表示匹配所有以.php结尾的请求fastcgi_pass 127.0.0.1:9000;
:表示将请求转发到PHP-FPM进程处理,此处端口号应与PHP-FPM进程启动时使用的端口号保持一致fastcgi_index index.php;
:表示当请求目录下没有指定文件时,默认使用index.php作为入口文件fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
:表示将请求文件完整路径传递给PHP-FPM进程,其中$document_root表示Nginx配置的Web根目录,$fastcgi_script_name表示请求的完整路径(不包含域名和参数)include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
: Zeigt die Weiterleitung der Anfrage an PHP an -FPM-Prozess für die Verarbeitung sollte mit PHP identisch sein. -Die beim Starten des FPM-Prozesses verwendete Portnummer bleibt konsistentfastcgi_index index.php;
: Zeigt an, dass keine Angabe erfolgt Datei im Anforderungsverzeichnis, index.php wird standardmäßig als Eintragsdatei verwendet
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
: Gibt an, dass der vollständige Pfad der angeforderten Datei an das PHP-FPM übergeben wird Prozess, wobei $document_root das von Nginx konfigurierte Web-Stammverzeichnis darstellt und $fastcgi_script_name den vollständigen Pfad der Anforderung darstellt (ohne Domänennamen und Parameter)
include fastcgi_params;
: Zeigt die Einführung von FastCGI an Parameterkonfigurationsdatei, die einige Parameterkonfigurationen im Zusammenhang mit FastCGI enthält. 🎜🎜🎜Nachdem die Konfiguration abgeschlossen ist, können Sie den folgenden Befehl verwenden, um die Nginx-Konfiguration neu zu laden: 🎜sudo nginx -s reload🎜Oben wird beschrieben, wie Sie das Problem lösen können, dass Nginx keine PHP-Dateien analysieren kann, wenn Nginx zum Erstellen eines Webservers auf einem Mac verwendet wird. Ich hoffe, dieser Artikel ist hilfreich für Sie. 🎜
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Mac Nginx PHP-Dateien nicht analysieren kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!