Konfigurieren Sie die Subdomain-Website nginx.conf für Laravel und verweisen Sie das Stammverzeichnis auf den öffentlichen
Server {
listen 80;
server_name local.com ;
root /home/wwwroot/default/laravel/public/;
include enable-php.conf;
index index.php index.html index.htm;
location / {
#index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$query_string;
}
access_log /home/wwwlogs/access.log;
}
Die index.php von Laravel Public erfordert einige Dateien
erfordert __DIR__.'/../bootstrap/autoload.php';
Referenzdateien außerhalb des Subdomain-Verzeichnisses
Es wird angezeigt, wenn Sie local.com besuchen.
local.com kann diese Anfrage derzeit nicht bearbeiten.
HTTP-FEHLER 500
Aber wenn ich http://127.0.0.1/laravel/public/ besuche, ist der Zugriff normal
laravel-Dateiberechtigungen
drwxr-xr-x 6 www www 4096 11. Mai 20:42 app
-rwxr-xr-x 1 www www 1646 11. Mai 20:42 artisan
drwxrwxrwx 3 www www 4096 11. Mai 20:42 Bootstrap
-rw-r--r-- 1 www www 1300 11. Mai 20:42 Composer.json
-rw-r--r-- 1 www www 122597 7. Juni 10:18 Composer.lock
drwxr-xr-x 2 www www 4096 11. Mai 20:42 config
drwxr-xr-x 5 www www 4096 11. Mai 20:42 Datenbank
-rw-r--r-- 1 www www 1062 11. Mai 20:42 package.json
-rw -r--r-- 1 www www 1055 11. Mai 20:42 phpunit.xml
drwxrwxrwx 4 www www 4096 7. Juni 10:49 public
-rw-r--r -- 1 www www 3420 11. Mai 20:42 readme.md
drwxr-xr-x 5 www www 4096 11. Mai 20:42 Ressourcen
drwxr-xr-x 2 www www 4096 11. Mai 20:42 Routen
-rw-r--r-- 1 www www 563 Mai 11 20:42 server.php
drwxrwxrwx 5 www www 4096 11. Mai 20:42 storage
drwxr-xr-x 4 www www 4096 11. Mai 20: 42 Tests
drwxrwxrwx 31 www www 4096 7. Juni 10:18 Vendor
-rw -r--r-- 1 www www 555 11. Mai 20:42 webpack.mix.js
Ich denke, das Problem sollte sein, dass PHP den Verweis auf Dateien außerhalb des Stammverzeichnisses verbietet oder dass Nginx den Zugriff auf Dateien außerhalb des Stammverzeichnisses verbietet. Oder? ? ? ? ?
Suchen Sie nach einer Lösung?
Ich habe den Grund selbst gefunden, habe aber immer noch keine Lösung
Ergebnisse anzeigen
Der Code ist definitiv der Quellcode des Laravel-Frameworks. Der Hauptgrund ist wahrscheinlich, dass Sie nicht auf externe Dateien verweisen können
nginx.conf中引入这个文件include fastcgi.conf;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/default/laravel/";
再添加上你要引用的外层文件夹目录,就解决了这个问题,妈的智障,laravel框架也不管这些,引发出这种问题,反正我时遇到了这个问题还没有地方去搜索
看nginx的错误日志吧,500什么错误都有可能
不是nginx的问题,也不是权限的问题,你这样在目录之外的文件本来就是无法获取到的。