Nginx-虚拟主机配置问题
Nginx-虚拟主机配置问题
标签(空格分隔): linux,php,nginx,larave
这两天突然想配置lnmp环境,学习下Nginx配置结果就遇到了下边的问题
Nginx: server下的配置
listen 80 default_server;
#listen [::]:80 default_server ipv6only=on;
server_name _;
index index.html index.htm index.php;
#root /home/wwwroot/default;
root /home/wwwroot/web.laravel.cn/public;
1 如果我把root 写到跟目录 /home/wwwroot/web.laravel.cn/ 那么我访问就得 ip地址/public
2 如果我把root 写到入口文件 /home/wwwroot/web.laravel.cn/public 那么 ip访问 就HTTP500
3 还有相同的地方是 只能打开首页 其他的路由/页面都403
这几天一直再纠结这个问题,第一种的话,不报错,让我挺无奈的 网上查了一下需要打开 php.ini [display_errors=On] 打开这一项 会显示错误
Warning: require(): open_basedir restriction in effect. File(/home/wwwroot/web.laravel.cn/bootstrap/autoload.php) is not within the allowed path(s): (/home/wwwroot/web.laravel.cn/public/:/tmp/:/proc/:/home/wwwroot/web.laravel.cn/public:) in /home/wwwroot/web.laravel.cn/public/index.php on line 22
Warning: require(/home/wwwroot/web.laravel.cn/bootstrap/autoload.php): failed to open stream: Operation not permitted in /home/wwwroot/web.laravel.cn/public/index.php on line 22
Fatal error: require(): Failed opening required '/home/wwwroot/web.laravel.cn/public/../bootstrap/autoload.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/web.laravel.cn/public/index.php on line 22
上网查了这个问题 open_basedir 这个配置选型问题 但我记得都配置过把需要有权限的目录加进去就行了
但是还不行。就在今天闲着没事在看tp5手册 发现了问题
"open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/web.laravel.cn/public:";
多写了/public 写到根目录就可以了! /home/wwwroot/web.laravel.cn
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理