thinkphp5在lnmp一键安装包虚拟域名提示500(转)

域名指定到根目录下一切都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