cari

Rumah  >  Soal Jawab  >  teks badan

laravel - nginx php gagal merujuk fail luar dalam direktori root

Konfigurasikan tapak web subdomain nginx.conf untuk laravel dan halakan direktori root ke public
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;

}

Indeks.php laravel public akan memerlukan beberapa fail
memerlukan __DIR__.'/../bootstrap/autoload.php';
merujuk fail di luar direktori subdomain

Ia akan muncul apabila anda melawat local.com
local.com pada masa ini tidak dapat mengendalikan permintaan ini.
Ralat HTTP 500

Tetapi apabila saya melawat http://127.0.0.1/laravel/public/, aksesnya adalah normal

keizinan fail laravel
drwxr-xr-x 6 www www 4096 11 Mei 20:42 app
-rwxr-xr-x 1 www 1646 11 Mei 20:42 artisan
drwxrwxrwx 9 6 Mei 1
-rw-r--r-- 1 www www 1300 11 Mei 20:42 composer.json
-rw-r--r-- 1 www www 122597 7 Jun 10:18 composer.lock
drwxr-xr-x 2 www www 4096 11 Mei 20:42 konfigurasi
drwxr-xr-x 5 www www 4096 11 Mei 20:42 pangkalan data
-rw-r--r-- 1 www 1062 11 Mei 20:42 package.json
-rw -r--r-- 1 www www 1055 May 11 20:42 phpunit.xml
drwxrwxrwx 4 www www 4096 Jun 7 10:49 public
-rw-r--r -- 1 www 3420 May 12 20:4 readme.md
drwxr-xr-x 5 www www 4096 Mei 11 20:42 sumber
drwxr-xr-x 2 www www 4096 Mei 11 20:42 laluan
-rw-r--r-- 1 www 563 Mei 11 20:42 Server.php
drwxrwxrwx 5 www www 4096 Mei 11 20:42 PenyimpananDDRWWXR-XR-X 4 www www 4096 Mei 11 20: 42 TESTSDDRWXRRWX 31 www www 4096 Jun -r--r-- 1 www www 555 11 Mei 20:42 webpack.mix.js

Saya rasa masalahnya ialah php melarang merujuk fail di luar direktori root
atau nginx melarang mengakses fail di luar direktori root

atau? ? ? ? ?

Sedang mencari penyelesaian?

Saya sendiri dah jumpa sebab tapi masih tiada penyelesaian


Tunjukkan hasilnya

Kod itu pastinya kod sumber rangka kerja laravel Sebab utama mungkin anda tidak boleh merujuk fail luaran

曾经蜡笔没有小新曾经蜡笔没有小新2775 hari yang lalu1055

membalas semua(3)saya akan balas

  • 给我你的怀抱

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

    Perkenalkan fail ini ke dalam nginx.conf sertakan fastcgi.conf;

    fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/default/laravel/";
    Tambahkan direktori folder luar yang ingin anda rujuk, dan masalah ini akan diselesaikan, ibu The laravel framework tidak mengambil berat tentang perkara ini, yang menyebabkan masalah seperti ini, saya menghadapi masalah ini dan tidak ada tempat untuk mencarinya

    balas
    0
  • ringa_lee

    ringa_lee2017-06-08 11:03:55

    Lihat log ralat nginx, sebarang ralat 500 adalah mungkin

    balas
    0
  • 習慣沉默

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

    Ini bukan masalah dengan nginx, dan bukan juga masalah dengan kebenaran Fail di luar direktori seperti milik anda tidak boleh diperolehi.

    balas
    0
  • Batalbalas