Heim >Backend-Entwicklung >PHP-Tutorial >Nginx kann die Datei index.php in Laravel/Public nicht analysieren
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>
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>