open_basedir php授权目录设置
php为了安全性考虑,有一项 open_basedir 的设置。根据你web服务器环境,open_basedir可以在几个地方设置。
首先 在php.ini中配置。
1 | ;open_basedir = |
如果发现配置项前是有分号,表明php.ini中没有该设置。那就很可能是在 php-fpm 中的 fastcgi.conf中配置了。php-fpm中的配置会覆盖php.ini的配置。
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/proc/:/you_web_path";
/you_web_path 是你要添加的让php可以访问的路径。多个路径直接分号隔开
如果也给服务器有多个项目,无论是在php.ini或者fastcgi.cong中设置,都是针对所有项目。那能不能只针对某个项目设置呢?
答案是肯定的。还可以在项目根目录中通过 .user.ini 进行配置。
.user.ini配置
首先,要使.user.ini生效,要设置php.ini 中的
1 2 | user_ini.filename = ".user.ini" user_ini.cache_ttl = 300 |
关于这两个配置的意义,请看php手册 http://php.net/manual/zh/configuration.file.per-user.php
注释掉 fastcgi.conf 中的 open_basedir 的配置。
在项目根目录 创建 .user.ini文件,写入如下内容
1 | open_basedir=/tmp/:/proc/:/you_web_path |
/you_web_path 是你要添加的让php可以访问的路径。多个路径直接分号隔开
重启一下php-fpm 服务即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!