Heim  >  Artikel  >  Backend-Entwicklung  >  Analysieren und lösen Sie das Problem, dass PHP-Code nicht wirksam wird

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

PHPz
PHPzOriginal
2023-04-24 10:51:451507Durchsuche

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

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

systemctl start php-fpm
  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

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

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

cgi.fix_pathinfo=1

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

systemctl restart php-fpm
  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;
}

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>

Ä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

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

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

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

sudo systemctl restart php-fpm

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!

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