搜索

首页  >  问答  >  正文

laravel - nginx php 引用根目录外层文件失败

为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
drwxrwxrwx 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 www 4096 6月 7 10:18 vendor
-rw-r--r-- 1 www www 555 5月 11 20:42 webpack.mix.js

我认为问题应该是php 禁止引用了根目录以外的文件
或者是nginx 禁止访问根目录以外的文件
或者是 ?????
求解决方案 ?

我自己找到了原因但还是没有方案

显示结果

代码肯定时没问题的时laravel框架的源代码
主要原因应该就是不能引用外层的文件吧

曾经蜡笔没有小新曾经蜡笔没有小新2757 天前1047

全部回复(3)我来回复

  • 给我你的怀抱

    给我你的怀抱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框架也不管这些,引发出这种问题,反正我时遇到了这个问题还没有地方去搜索

    回复
    0
  • ringa_lee

    ringa_lee2017-06-08 11:03:55

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

    回复
    0
  • 習慣沉默

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

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

    回复
    0
  • 取消回复