Analysieren und lösen Sie das Problem, dass PHP-Code nicht wirksam wird

PHPz
Freigeben: 2023-04-24 14:10:51
Original
1514 Leute haben es durchsucht

PHP ist eine im Bereich der Webentwicklung weit verbreitete Programmiersprache, und php-fpm ist der Prozessmanager von PHP, der für die Verwaltung des Prozesses der PHP-Codeausführung auf dem Server verantwortlich ist. Bei der Verwendung von php-fpm kann es bei vielen Entwicklern zu dem Problem kommen, dass PHP-Code nicht wirksam wird. In diesem Artikel besprechen wir einige häufige Ursachen und bieten einige Lösungen an.

  1. Überprüfen Sie, ob der PHP-FPM-Dienst ausgeführt wird.

Als Erstes müssen Sie überprüfen, ob der PHP-FPM-Dienst ausgeführt wird. Sie können überprüfen, ob PHP-FPM ausgeführt wird, indem Sie den folgenden Befehl ausführen:

systemctl status php-fpm
Nach dem Login kopieren

Wenn der PHP-FPM-Dienst nicht gestartet ist, müssen Sie den Dienst starten:

systemctl start php-fpm
Nach dem Login kopieren
  1. Überprüfen Sie, ob die PHP-Konfigurationsdatei korrekt ist

Wenn der php-fpm-Dienst ausgeführt wird, Ihr PHP-Code jedoch immer noch nicht wirksam wird, kann es daran liegen, dass die PHP-Konfigurationsdatei (php.ini) nicht richtig konfiguriert ist. Der Speicherort der php.ini-Datei kann mit dem folgenden Befehl ermittelt werden:

php --ini
Nach dem Login kopieren

Dieser Befehl gibt den Pfad zurück, in dem sich php.ini befindet. Bitte öffnen Sie die php.ini-Datei mit einem Texteditor und suchen Sie nach Folgendem:

cgi.fix_pathinfo=0
Nach dem Login kopieren

Das bedeutet, dass Sie PATH_INFO aktivieren und auf 0 setzen. Bitte ändern Sie es in:

cgi.fix_pathinfo=1
Nach dem Login kopieren

Speichern Sie dann die Änderungen und starten Sie den PHP-FPM-Dienst neu:

systemctl restart php-fpm
Nach dem Login kopieren
  1. Überprüfen Sie die Nginx- oder Apache-Konfigurationsdatei

Wenn der PHP-FPM-Dienst ausgeführt wird und kein Problem mit der PHP-Konfigurationsdatei vorliegt, kann das Problem in der Nginx- oder Apache-Konfigurationsdatei auftreten. In diesem Fall müssen Sie Folgendes überprüfen:

Für Nginx:

Bitte öffnen Sie die Nginx-Konfigurationsdatei (normalerweise im Verzeichnis /etc/nginx/conf.d/ oder /etc/nginx/sites-enabled/). , Suchen Sie den Abschnitt, der etwa so aussieht:

location ~ \.php$ {
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        include         fastcgi_params;
        fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
}
Nach dem Login kopieren

Stellen Sie sicher, dass fastcgi_pass auf die richtige IP-Adresse und Portnummer verweist. Wenn Sie den php-fpm-Abhörport in der Datei php-fpm.conf geändert haben, müssen Sie die geänderte Portnummer verwenden. Stellen Sie sicher, dass die Variable SCRIPT_FILENAME richtig eingestellt ist.

Für Apache:

Bitte öffnen Sie die Konfigurationsdatei von Apache (normalerweise unter /etc/httpd/conf/httpd.conf oder /etc/httpd/conf/httpd-vhosts.conf) und finden Sie Folgendes:

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
Nach dem Login kopieren

Ähnlich, Stellen Sie sicher, dass SetHandler auf die richtige IP-Adresse und Portnummer verweist und dass SCRIPT_FILENAME richtig eingestellt ist.

  1. Überprüfen Sie, ob PHP-Erweiterungen korrekt geladen sind.

Wenn Sie bestimmte Erweiterungen in Ihrem PHP-Code verwenden, stellen Sie sicher, dass diese korrekt geladen sind. Geladene PHP-Erweiterungen können mit dem folgenden Befehl überprüft werden:

php -m
Nach dem Login kopieren

Wenn Ihre Erweiterung nicht in der Liste erscheint, müssen Sie die Erweiterung installieren. Erweiterungen können installiert werden, indem Sie den folgenden Befehl im Terminal ausführen:

sudo apt-get install php-extension-name
Nach dem Login kopieren

Bitte ersetzen Sie „Erweiterungsname“ durch den Namen der Erweiterung, die Sie installieren müssen.

  1. Cache leeren

In einigen Fällen kann das Problem, dass PHP-Code nicht wirksam wird, durch den Cache verursacht werden. Sie können versuchen, Ihren Cache zu leeren, um dieses Problem zu beheben. Für Nginx und Apache können Sie den Cache mit dem folgenden Befehl leeren:

sudo service nginx/apache2 restart
Nach dem Login kopieren

Für php-fpm können Sie php-fpm neu starten und den Cache mit dem folgenden Befehl leeren:

sudo systemctl restart php-fpm
Nach dem Login kopieren

Zusammenfassung

Bei Verwendung von php-fpm Der PHP-Code funktioniert nicht. Probleme beim Inkrafttreten können verschiedene Ursachen haben. Dieser Artikel bietet einige Lösungen, darunter die Überprüfung, ob der PHP-FPM-Dienst ausgeführt wird, die Überprüfung, ob die PHP-Konfigurationsdatei korrekt ist, die Überprüfung der Nginx- oder Apache-Konfigurationsdatei, die Überprüfung, ob die PHP-Erweiterung korrekt geladen ist, das Löschen des Caches usw. Wenn Sie das Problem immer noch nicht lösen können, lesen Sie bitte die Dokumentation oder bitten Sie die Entwickler-Community um Hilfe.

Das obige ist der detaillierte Inhalt vonAnalysieren und lösen Sie das Problem, dass PHP-Code nicht wirksam wird. 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!