Maison > développement back-end > Problème PHP > Discutez et résumez quelques raisons et solutions pour lesquelles PHP-FPM ne prend pas effet

Discutez et résumez quelques raisons et solutions pour lesquelles PHP-FPM ne prend pas effet

PHPz
Libérer: 2023-04-12 20:46:08
original
1446 Les gens l'ont consulté

PHP-FPM est un gestionnaire FastCGI couramment utilisé. De nombreux sites Web l'utilisent pour traiter des scripts PHP, mais nous rencontrons parfois des situations dans lesquelles PHP-FPM ne prend pas effet. Dans cet article, j'explorerai quelques causes possibles et comment les résoudre.

Tout d'abord, nous devons vérifier que PHP-FPM est en cours d'exécution. Cela peut être vérifié par :

systemctl status php-fpm
Copier après la connexion

Si PHP-FPM n'est pas démarré, vous devez le démarrer :

systemctl start php-fpm
Copier après la connexion

S'il est déjà en cours d'exécution, vous pouvez ignorer cette étape et continuer à rechercher d'autres problèmes potentiels.

Deuxièmement, nous devons nous assurer que le fichier de configuration de PHP-FPM est correct. Par défaut, la version PHP aura son propre fichier de configuration par défaut. Cependant, si nous devons modifier certains paramètres, nous devons les remplacer et recharger le fichier de configuration.

Ensuite, vérifiez si votre fichier de configuration Nginx est correct. Dans le fichier de configuration de Nginx, nous devons nous assurer que le bon socket ou port PHP-FPM est utilisé. Généralement, nous verrons les paramètres suivants dans le fichier de configuration de Nginx :

location ~ \.php$ {
    fastcgi_pass unix:/run/php-fpm/www.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
    include fastcgi_params;
}
Copier après la connexion

Dans l'exemple ci-dessus, Nginx envoie la requête au fichier socket de PHP-FPM. Si notre PHP-FPM écoute sur le port, nous devons le changer en fastcgi_pass 127.0.0.1:9000;, où 9000 est le port par défaut. fastcgi_pass 127.0.0.1:9000;,其中9000是默认端口。

如果您最近更新了PHP版本,则还需要确保PHP模块可用。可以通过运行以下命令来检查PHP模块是否已加载:

php -m
Copier après la connexion

如果PHP-FPM和Nginx都已正确配置,但PHP脚本仍然没有被正确处理,则可能是由于权限问题。PHP-FPM运行在WWW用户下,并且它对文档根目录(通常为/var/www/html

Si vous avez récemment mis à jour votre version PHP, vous devrez également vous assurer que le module PHP est disponible. Vous pouvez vérifier si le module PHP est chargé en exécutant la commande suivante :

usermod -a -G www-data username
chown -R www-data:www-data /var/www/html
chmod -R 755 /var/www/html
Copier après la connexion
Si PHP-FPM et Nginx sont correctement configurés, mais que le script PHP n'est toujours pas traité correctement, cela peut être dû à des problèmes d'autorisations. PHP-FPM s'exécute sous l'utilisateur WWW et dispose des autorisations les plus élevées sur le répertoire racine du document (généralement /var/www/html). Si les autorisations des dossiers et des fichiers sont restreintes, les scripts PHP peuvent ne pas fonctionner correctement.

Pour vous assurer que les problèmes d'autorisation n'empêchent pas PHP-FPM de prendre effet, veuillez vous assurer que les utilisateurs WWW ont un accès complet au répertoire racine de votre document. L'utilisateur WWW peut être modifié avec la commande suivante :

rrreee

L'exemple ci-dessus modifie l'utilisateur WWW et définit la propriété et les autorisations des dossiers et fichiers sur l'utilisateur WWW et 755. Cela garantit que PHP-FPM a un accès complet à la racine du document et que les scripts PHP peuvent s'exécuter correctement.
  1. En bref, lorsque PHP-FPM ne prend pas effet, nous devons vérifier les aspects suivants :
  2. Vérifiez si PHP-FPM est en cours d'exécution
  3. Vérifiez si le fichier de configuration PHP-FPM est correct
  4. Vérifiez si le Nginx le fichier de configuration est correct
  5. Vérifiez si le module PHP est disponible

Assurez-vous que les utilisateurs WWW ont un accès complet à la racine du document

🎜🎜 En vérifiant ces problèmes possibles, vous devriez être en mesure de résoudre le problème de PHP-FPM qui ne fonctionne pas. 🎜

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal