域名指定到根目录下一切都ok,唯独指向public下之后就一直提示500错误
打开了display_errors 提示 open_basedir 错误
然而域名的配置文件下并没有open_basedir,目录下的.user.ini改成public的上一层目录即网站根目录也无济于事
最后发现是fastcgi.conf中的open_basedir在捣鬼,将:
"open_basedir=$document_root/:/tmp/:/proc/"
改成:
"open_basedir=$document_root/../:/tmp/:/proc/"
或者干脆把这行注释掉,问题解决
经过搜索,发现在lnmp一键安装包的官网上有关于这个问题的说明
https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini
原因如下:
在Thinkphp、codeigniter、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉,有时候这些框架类的程序提示500错误也可能是这个问题引起的。
原文:https://blog.csdn.net/u011486871/article/details/79628301
版权声明:本文为博主原创文章,转载请附上博文链接!
原文地址:https://www.cnblogs.com/cuculus/p/10919504.html
时间: 2024-11-20 05:16:18