Maison > développement back-end > tutoriel php > Pourquoi Nginx sert-il mes fichiers PHP en téléchargement au lieu de les exécuter ?

Pourquoi Nginx sert-il mes fichiers PHP en téléchargement au lieu de les exécuter ?

DDD
Libérer: 2024-12-02 19:04:10
original
194 Les gens l'ont consulté

Why is Nginx Serving My PHP Files as Downloads Instead of Executing Them?

Nginx servant des fichiers PHP en téléchargement : résolution du problème d'exécution

Lorsque vous rencontrez des situations où Nginx sert des fichiers PHP en téléchargement au lieu de les exécuter, il est essentiel de diagnostiquer la cause sous-jacente.

Vérification de la configuration Fichiers :

  • /etc/nginx/sites-available/default: Assurez-vous que les directives d'écoute IPv4 et IPv6 ne sont pas commentées. Vérifiez également que index.php est inclus dans la ligne d'index.
  • Paramètres PHP : Vérifiez /etc/php5/fpm/php.ini et confirmez que cgi.fix_pathinfo est défini sur 0. . Ce paramètre empêche le serveur Web d'ajouter l'extension de fichier à l'URI FastCGI.

Configuration. Exemple :

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/html;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

               location ~ \.php$ {
                    try_files $uri =404;
                    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    ## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #               # With php5-cgi alone:
    #               fastcgi_pass 127.0.0.1:9000;
    #               # With php5-fpm:
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    include fastcgi_params;
            }
  

              location / {
                    
                    try_files $uri $uri/ =404;
                    # Uncomment to enable naxsi on this location
                    # include /etc/nginx/naxsi.rules
            }
}
Copier après la connexion

Redémarrer les services :

Après avoir apporté les modifications nécessaires, redémarrez Nginx et php5-fpm à l'aide des commandes suivantes :

sudo service nginx restart
sudo service php5-fpm restart
Copier après la connexion

Supplémentaire Considérations :

  • Assurez-vous que PHP est installé et configuré correctement sur le serveur.
  • Si le problème persiste, consultez les journaux d'erreurs pour obtenir des indices supplémentaires.

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