记录一次在lnmp环境下部署php框架的排错
Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/project/vendor/autoload.php) is not within the allowed path(s): (/home/wwwroot/project/public/:/tmp/:/proc/) in /home/wwwroot/project/public/index.php on line 14
Warning: require(/home/wwwroot/project/vendor/autoload.php): failed to open stream: Operation not permitted in /home/wwwroot/project/public/index.php on line 14
Fatal error: require(): Failed opening required '/home/wwwroot/project/public/../vendor/autoload.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/project/public/index.php on line 14
描述 : 如果将TP6,Yaf等开发框架部署到centos下的lnmp继承环境下时,会报以上错误,原因是默认是配置不允许跨目录执行:
open_basedir 将php所能打开的文件限制在指定的目录树中,包括文件本身。当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。
解决方案是修改 /usr/local/nginx/conf/fastcgi.conf文件,将 最后一句配置 fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 注释掉 #
然后lnmp restart重启服务
问题解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!