suchen

Heim  >  Fragen und Antworten  >  Hauptteil

laravel – Nginx PHP konnte nicht auf die äußere Datei im Stammverzeichnis verweisen

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

曾经蜡笔没有小新曾经蜡笔没有小新2757 Tage vor1045

Antworte allen(3)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱2017-06-08 11:03:55

    nginx.conf中引入这个文件include fastcgi.conf;

    fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/default/laravel/";
    再添加上你要引用的外层文件夹目录,就解决了这个问题,妈的智障,laravel框架也不管这些,引发出这种问题,反正我时遇到了这个问题还没有地方去搜索

    Antwort
    0
  • ringa_lee

    ringa_lee2017-06-08 11:03:55

    看nginx的错误日志吧,500什么错误都有可能

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-06-08 11:03:55

    不是nginx的问题,也不是权限的问题,你这样在目录之外的文件本来就是无法获取到的。

    Antwort
    0
  • StornierenAntwort