安装完LNMP一键安装包后,把默认的nginx.conf里的root /home/wwwroot/default;改为root /home/wwwroot/blog/public(即laravel项目根文件夹),storage和bootstrap的权限也给了,大部分地方都按照http://blog.csdn.net/dahuzix/...里的设置去操作,然而还是没卵用.
安装完LNMP一键安装包后,把默认的nginx.conf里的root /home/wwwroot/default;改为root /home/wwwroot/blog/public(即laravel项目根文件夹),storage和bootstrap的权限也给了,大部分地方都按照http://blog.csdn.net/dahuzix/...里的设置去操作,然而还是没卵用.
我最近也刚好碰到了这个问题,正如楼1说的,因为 lnmp 的防跨目录设置导致的。
我自己的办法是为 laravel 重新复制个专用的 enable-php.conf 和 fastcgi.conf 文件。
cd /usr/local/nginx/conf
sudo cp enable-php.conf enable-php_domain.conf
sudo cp fastcgi.conf fastcgi_domain.conf
编辑 enable-php_domain.conf 文件里面中的 include fastcgi.conf 名称为 include fastcgi_domain.conf。
编辑 fastcgi_domain.conf 文件里面中的 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";中的 $document_root 修改为 laravel 项目的根目录(不指向 public)。
nginx.conf里面增加下这个配置
server {
location / {
try_files $uri $uri/ /index.php?$query_string;
}
}
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
我是题主,问题已解决,还需要加一步:LNMP 1.4上如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在该行行前添加 # 或删除改行,需要重启nginx。