php部署到nginx时遇到的问题
2022-06-14 11:34 猎手家园 阅读(796) 评论(0) 编辑 收藏 举报1、权限问题
nginx用户、php用户最好不要用默认的:nobody,因为权限不够。
可以创建新的用户和用户组:
groupadd www
useradd -r -g www www
然后修改:nginx.conf
user www
修改:php-fpm.d/www.conf
[www] user = www group = www
同时给访问文件夹的权限给:www
chown -R www:www 文件夹
2、Nginx报403 forbidden错误 (13: Permission denied)
nginx没有web目录的操作权限,会出现403错误。
解决办法:修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决
chmod -R 755 /usr/local/www
3、nginx遇到is not within the allowed path(s)
总结:发现不是目录下的.user.ini文件的问题,也不是php.ini的配置问题,而是fastcgi.conf的配置问题。
问题原因:open_basedir是默认的动态访问目录,/home/wwwroot/myproject/public,从而php无法读取其他目录。
解决办法:在 /usr/local/nginx/conf/ 目录在找到 fastcgi.conf,关于 open_basedir 默认的配置应该是:
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; #修改成: fastcgi_param PHP_ADMIN_VALUE "open_basedir=/usr/local/wwwroot/myproject/:/tmp/:/proc/";
欢迎关注我的公众号:云栖语,不一样的研发视界。

云栖语微信公众号:change-1978
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决