linux上部署thinkphp5提示500


 以下仅LNMP 1.4版本的解决办法,LNMP其他版本请参考官网https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini

解决方法一:LNMP 1.4上也可以直接使用lnmp1.4/tools/ 目录下的 ./remove_open_basedir_restriction.sh,输入网站的全路径(如/www/wwwrooter/testweb) 回车既可

解决方法二:LNMP 1.4上如果不想用防跨目录或者修改.user.ini的防跨目录的目录还需要将 /usr/local/nginx/conf/fastcgi.conf 里面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在该行行前添加 # 或删除改行,需要重启nginx。
这里我试过了是无效的,大家可以尝试,修改完fastcgi.conf后执行

service nginx restart

service php-fpm restart

说明; 由于我的服务器php环境是使用lnmp集成包搭建,原因也来于此

在Thinkphp、codeigniter、Laravel等框架下,网站目录一般是在public下,但是public下的程序要跨目录调用public上级目录下的文件,因为LNMP默认是不允许跨目录访问的,所以都是必须要将防跨目录访问的设置去掉,有时候这些框架类的程序提示500错误也可能是这个问题引起的。(官网上写的https://lnmp.org/faq/lnmp-vhost-add-howto.html#user.ini

问了找了好久,还是通过tp5官网文档的评论发现解决方法,tp5文档https://www.kancloud.cn/manual/thinkphp5/336757


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM