本文主要是介绍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错误也可能是这个问题引起的。
这篇关于thinkphp5在lnmp一键安装包虚拟域名提示500的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!