為laravel 設定nginx.conf子網域網站將根目錄指向 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;
}
laravel public 的index.php會require一些檔案
require __DIR__.'/../bootstrap/autoload.php';
引用的是子網域目錄外的檔案
造訪local.com的時候就會出現
local.com 目前無法處理此要求。
HTTP ERROR 500
但我訪問http://127.0.0.1/laravel/public/ 就時正常的訪問
laravel 各檔案權限
drwxr-xr-x 6 www www 4096 5月11 20:42 app
-rwxr-xr-x 1 www www 1646 5月11 20:42 artisan##drwxrwxr# 3 www www 4096 5月11 20:42 bootstrap
-rw-r--r-- 1 www www 1300 5月11 20:42 composer.json
-rw-r--r-- 1 www www 122597 6月7 10:18 composer.lock
drwxr-xr-x 2 www www 4096 5月11 20:42 config
drwxr-xr-x 5 www www 4096 5月11 20:42 database
-rw-r--r-- 1 www www 1062 5月11 20:42 package.json
-rw-r--r-- 1 www www 1055 5月11 20:42 phpunit.xml
drwxrwxrwx 4 www www 4096 6月7 10:49 public
-rw-r--r-- 1 www www 3420 5月11 20:42 readme.md
drwxr-xr-x 5 www www 4096 5月11 20:42 resources
drwxr-xr-x 2 www www 4096 5月11 20:42 routes
-rw-r--r-- 1 www www 563 5月11 20:42 server .php
drwxrwxrwx 5 www www 4096 5月11 20:42 storage
drwxr-xr-x 4 www www 4096 5月11 20:42 tests
drwxrwxrwx 31 www 4071 月vendor
-rw-r--r-- 1 www www 555 5月11 20:42 webpack.mix.js
或是nginx 禁止存取根目錄以外的檔案
或是 ? ? ? ? ?
求解決方案 ?
顯示結果
主要原因應該就是不能引用外層的檔案吧
nginx.conf中引入這個檔案include fastcgi.conf;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/default/laravel/";
再加入上你要引用的外層資料夾目錄,就解決了這個問題,就解決了這個問題,的智障,laravel框架也不管這些,引發出這種問題,反正我時遇到了這個問題還沒地方去搜尋
看nginx的錯誤日誌吧,500什麼錯誤都有可能
不是nginx的問題,也不是權限的問題,你這樣在目錄之外的檔案本來就是無法取得的。