关闭
> 服务器 >

宝塔面板出现“require(): open_basedir restriction in effect. ”的解决方法

来源:网络 文章列表 2021-01-15 8
宝塔require(): open_basedir restriction in effect. 错误的解决办法

Warning: fopen(): open_basedir restriction in effect. File(/data/sbin/logs/TLog/Tlog.800.0_20200107...错误

关闭防跨站攻击(open_basedir),把钩去掉,重启php服务,即可!

PHP防跨站之open_basedir目录设置

php为了安全性考虑,有一项 open_basedir 的设置。根据你web服务器环境,open_basedir可以在几个地方设置。

首先 在php.ini中配置。

;open_basedir =


fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root:/tmp/:/proc/:/you_web_path";  

如果发现配置项前是有分号,表明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 中的 
user_ini.filename = ".user.ini"
user_ini.cache_ttl = 300


注释掉 fastcgi.conf 中的 open_basedir  的配置。  

关于这两个配置的意义,请看php手册 http://php.net/manual/zh/configuration.file.per-user.php

在项目根目录 创建 .user.ini文件,写入如下内容

open_basedir=/tmp/:/proc/:/you_web_path

重启一下php-fpm 服务即可。/you_web_path 是你要添加的让php可以访问的路径。多个路径直接分号隔开

补充:应该还可以设置临时目录、session目录,不要都用/tmp,防止使用相同用户互相读取信息

 

如您看完博文,仍不会的话,本站长提供付费技术支持服务,价格不高! 立即咨询

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论