Heim  >  Artikel  >  Backend-Entwicklung  >  Nginx kann die Datei index.php in Laravel/Public nicht analysieren

Nginx kann die Datei index.php in Laravel/Public nicht analysieren

WBOY
WBOYOriginal
2016-08-20 09:04:021995Durchsuche

Ich habe den Root-Pfad in /etc/nginx/sites-available/default in /var/www/html/laravel/public geändert, aber das laufende Ergebnis war 403. Zuerst dachte ich, es läge an den Ordnerberechtigungen unzureichend. Im Internet heißt es, dass sowohl der Speicher als auch der Anbieter Lese- und Schreibberechtigungen haben, aber es funktioniert immer noch nicht. Kann mir jemand beim Auschecken helfen?
Hier ist meine Nginx-Konfigurationsdatei:

<code>server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # SSL configuration
    #
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server;
    #
    # Note: You should disable gzip for SSL traffic.
    # See: https://bugs.debian.org/773332
    #
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See: https://bugs.debian.org/765782
    #
    # Self signed certs generated by the ssl-cert package
    # Don't use them in a production server!
    #
    # include snippets/snakeoil.conf;

    root /var/www/html/laravel/public;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
    
    #   With php7.0-cgi alone:
    #    fastcgi_pass 127.0.0.1:9000;
    #   With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#    listen 80;
#    listen [::]:80;
#
#    server_name example.com;
#
#    root /var/www/html/laravel/public;
#    index index.html;
#
#    location / {
#        try_files $uri $uri/ =404;
#    }
#}</code>

Antwortinhalt:

Ich habe den Root-Pfad in /etc/nginx/sites-available/default in /var/www/html/laravel/public geändert, aber das laufende Ergebnis war 403. Zuerst dachte ich, es läge an den Ordnerberechtigungen unzureichend. Im Internet heißt es, dass sowohl der Speicher als auch der Anbieter Lese- und Schreibberechtigungen haben, aber es funktioniert immer noch nicht. Kann mir jemand beim Auschecken helfen?
Hier ist meine Nginx-Konfigurationsdatei:

<code>server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # SSL configuration
    #
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server;
    #
    # Note: You should disable gzip for SSL traffic.
    # See: https://bugs.debian.org/773332
    #
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See: https://bugs.debian.org/765782
    #
    # Self signed certs generated by the ssl-cert package
    # Don't use them in a production server!
    #
    # include snippets/snakeoil.conf;

    root /var/www/html/laravel/public;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
    
    #   With php7.0-cgi alone:
    #    fastcgi_pass 127.0.0.1:9000;
    #   With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#    listen 80;
#    listen [::]:80;
#
#    server_name example.com;
#
#    root /var/www/html/laravel/public;
#    index index.html;
#
#    location / {
#        try_files $uri $uri/ =404;
#    }
#}</code>

Fügen Sie nach dem Index in der Zeile unter root eine index.php hinzu

Das Problem wurde gefunden, aber die Konfigurationsdatei wurde falsch geschrieben

<code>root /var/www/html/laravel/public;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html ;  ------>这里面要加上index.php

    server_name _;------------>这里要把域名写成127.0.0.1或者local    但是后来我测试里下用下划线 貌似也是可以正常显示的</code>
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