Was soll ich tun, wenn Mac Nginx PHP-Dateien nicht analysieren kann?

PHPz
Freigeben: 2023-04-11 13:57:29
Original
635 Leute haben es durchsucht

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:

  1. Ursachenanalyse
  2. Lösung
  3. Ursachenanalyse

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:

  1. PHP-FPM ist nicht installiert
  2. PHP-FPM ist nicht gestartet
  3. PHP-Parsing ist in der Nginx-Konfigurationsdatei nicht konfiguriert
  4. Lösung

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
Nach dem Login kopieren

Nachdem die Installation abgeschlossen ist, können Sie mit dem folgenden Befehl überprüfen, ob die Installation erfolgreich war:

php-fpm -v
Nach dem Login kopieren

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 Login kopieren

Nach dem Start können Sie mit dem folgenden Befehl überprüfen, ob PHP-FPM erfolgreich gestartet wurde:

ps aux | grep php-fpm
Nach dem Login kopieren

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
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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 konsistent

fastcgi_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
Nach dem Login kopieren
🎜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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!