Maison >développement back-end >Problème PHP >Analyser et résoudre le problème du code PHP qui ne prend pas effet

Analyser et résoudre le problème du code PHP qui ne prend pas effet

PHPz
PHPzoriginal
2023-04-24 10:51:451559parcourir

PHP est un langage de programmation largement utilisé dans le domaine du développement web, et php-fpm est le gestionnaire de processus de PHP, chargé de gérer le processus d'exécution du code PHP sur le serveur. Lors de l'utilisation de php-fpm, de nombreux développeurs peuvent rencontrer le problème que le code PHP ne prend pas effet. Dans cet article, nous aborderons certaines causes courantes et proposerons des solutions.

  1. Vérifiez si le service php-fpm est en cours d'exécution

La première chose à vérifier est si le service php-fpm est en cours d'exécution. Vous pouvez vérifier si php-fpm est en cours d'exécution en exécutant la commande suivante :

systemctl status php-fpm

Si le service php-fpm n'est pas démarré, vous devez démarrer le service :

systemctl start php-fpm
  1. Vérifiez si le fichier de configuration PHP est correct

Si le service php-fpm est en cours d'exécution, mais que votre code PHP ne prend toujours pas effet, c'est peut-être parce que le fichier de configuration PHP (php.ini) n'est pas configuré correctement. L'emplacement du fichier php.ini peut être trouvé avec la commande suivante :

php --ini

Cette commande renverra le chemin où se trouve php.ini. Veuillez ouvrir le fichier php.ini avec un éditeur de texte et recherchez ce qui suit :

cgi.fix_pathinfo=0

Cela signifie activer PATH_INFO et définissez-le sur 0, veuillez le remplacer par :

cgi.fix_pathinfo=1

Enregistrez ensuite les modifications et redémarrez le service php-fpm :

systemctl restart php-fpm
  1. Vérifiez le fichier de configuration Nginx ou Apache

Si le service php-fpm est en cours d'exécution et qu'il n'y a aucun problème avec le fichier de configuration php, le problème peut survenir dans le fichier de configuration Nginx ou Apache. Dans ce cas, vous devez vérifier les points suivants :

Pour Nginx :

Veuillez ouvrir le fichier de configuration Nginx (généralement situé dans le répertoire /etc/nginx/conf.d/ ou /etc/nginx/sites-enabled/) , Recherchez la section qui ressemble à :

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;
}

Assurez-vous que fastcgi_pass pointe vers l'adresse IP et le numéro de port corrects. Si vous avez modifié le port d'écoute php-fpm dans le fichier php-fpm.conf, vous devez utiliser le numéro de port modifié. Assurez-vous que la variable SCRIPT_FILENAME est correctement définie.

Pour Apache :

Veuillez ouvrir le fichier de configuration d'Apache (généralement situé dans /etc/httpd/conf/httpd.conf ou /etc/httpd/conf/httpd-vhosts.conf) et recherchez ce qui suit :

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

De même, assurez-vous que SetHandler pointe vers l'adresse IP et le numéro de port corrects, et que SCRIPT_FILENAME est correctement défini.

  1. Vérifiez si les extensions PHP sont chargées correctement

Si vous utilisez certaines extensions dans votre code PHP, assurez-vous qu'elles sont correctement chargées. Les extensions PHP chargées peuvent être vérifiées avec la commande suivante :

php -m

Si votre extension n'apparaît pas dans la liste, vous devez installer l'extension. Les extensions peuvent être installées en exécutant la commande suivante dans le terminal :

sudo apt-get install php-extension-name

Veuillez remplacer "nom-extension" par le nom de l'extension que vous devez installer.

  1. Vider le cache

Dans certains cas, le problème du code php qui ne prend pas effet peut être causé par le cache. Vous pouvez essayer de vider votre cache pour résoudre ce problème. Pour Nginx et Apache, vous pouvez vider le cache à l'aide de la commande suivante :

sudo service nginx/apache2 restart

Pour php-fpm, vous pouvez redémarrer php-fpm et vider le cache à l'aide de la commande suivante :

sudo systemctl restart php-fpm

Résumé

Lors de l'utilisation de php-fpm, le code php ne prend pas effet. Les problèmes peuvent être causés par plusieurs raisons. Cet article propose quelques solutions, notamment vérifier si le service php-fpm est en cours d'exécution, vérifier si le fichier de configuration PHP est correct, vérifier si le fichier de configuration Nginx ou Apache est correct, vérifier si l'extension PHP est correctement chargée et vider le cache. , etc. Si vous ne parvenez toujours pas à résoudre le problème, veuillez vous référer à la documentation ou demander de l'aide à la communauté des développeurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn