open_basedir 将PHP所能打开的文件限制在指定的目录树中,包括文件本身。当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。

本指令不受安全模式打开或关闭的影响。

.open_basedir设置方法
1.在php.ini 加入

open_basedir=“指定目录”

2.在程序中使用

ini_set('open_basedir', '指定目录');

但不建议使用这种方法

3.在apache的httpd.conf中的Directory配置

php_admin_value open_basedir "指定目录"

httpd.conf中的VritualHost

php_admin_value open_basedir "指定目录"

4.nginx fastcgi.conf

fastcgi_param PHP_VALUE "open_basedir=指定目录"

用open_basedir指定的限制实际上是前缀,不是目录名。
也就是说 open_basedir=/home/fdipzone 也会允许访问/home/fdipzone_abc,如果要将访问限制为目录,请使用斜线结束路径名,例如:open_basedir=”/home/fdipzone/”

如果要设置多个目录,window使用;分隔目录,Linux使用:分隔目录。

3.使用open_basedir限制目录访问
首先创建一个VirtualHost,
设置open_basedir 为/home/fdipzone/sites/in.fdipzone.com/

<VirtualHost *:80>ServerAdmin webmaster@localhostDocumentRoot /home/fdipzone/sites/in.fdipzone.comServerName in.fdipzone.comphp_admin_value open_basedir "/home/fdipzone/sites/in.fdipzone.com/"<Directory "/home/fdipzone/sites/in.fdipzone.com">allow from all Options + Indexes</Directory>
</VirtualHost>

在上一层目录 /home/fdipzone/sites/ 中创建一个test.txt文件,在in.fdipzone.com中创建php执行以下代码

<?php
echo file_get_contents('../test.txt');
?>

因为test.txt不在限定的目录范围内,因此php提示警告

Warning: file_get_contents(): open_basedir restriction in effect. File(../test.txt) is not within the allowed path(s): (/home/fdipzone/sites/in.fdipzone.com/) in /home/fdipzone/sites/in.fdipzone.com/index.php on line 3

本文转载自:https://www.cnblogs.com/xiezhi/p/7063896.html

PHP项目部署报错之:open_basedir限制目录相关推荐

  1. 【若依(ruoyi)】解决同一Tomcat下两个/多个若依(ruoyi)项目部署报错

    前言 若依(ruoyi): v4.3 问题 同一Tomcat下部署两个/多个若依(ruoyi)项目会报错. 分析 若依(ruoyi)使用了druid,druid又使用了MBean. MBean要求,在 ...

  2. no main manifest attribute, in xxxx.jar 项目部署报错

    问题报错 今天再部署已经写好的一个项目时运行jar包出现异常:no main manifest attribute, in xxxx.jar 问题原因 找不到main方法,需要我们在pom.xml指定 ...

  3. 微信小程序云开发demo项目部署报错:V[云函数] [login] 调用失败 Error: errCode: -404011 cloud function execution error | errM

    报错详情: 从报错来看好像是选择的环境不存在,解决办法:在miniprogram下的app.js中配置环境ID,具体找法: 点击云开发->打开云开发控制台->点击右上角的设置,在下面即可看 ...

  4. server 2008 mysql 报错 0xc000007b_docker插件部署项目,volumes报错invalid volume specification...

    关于idea使用docker插件部署项目,volumes报错invalid volume specification 观察volumes那行,没写错的.但是........ 使用docker-comp ...

  5. spring mvc项目在IDEA下使用jrebel热部署报错!!

    转载:https://segmentfault.com/q/1010000006068898 spring mvc项目在IDEA下使用jrebel热部署报错!! 25-Jul-2016 20:43:4 ...

  6. 部署报错$notify

    报错:Subsequent property declarations must have the same type.  Property '$notify' must be of type 'El ...

  7. 解决JavaWeb项目代码报错

    解决JavaWeb项目代码报错 说明:JavaWeb项目代码报错的处理流程 处理流程 重新执行代码,避免上一次运行错误的影响 查看Tomcat报错信息 参考文章:idea中查看错误日志 如果是在ide ...

  8. 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start问题解决

    第一次写博客,写个简单的好了 关于eclipse中web项目tomcat报错Server Tomcat v9.0 Server at localhost failed to start 问题 我的解决 ...

  9. android 开发时遇到的环境问题3--eclipse整个项目工程报错

    eclipse项目工程报错,但是里面的各个文件全都没有报错,不知所以. 查看problem,里面有错误 说是某个类的的问价无法读取,这个文件是我直接在本地拉进来的,eclipse不给力,报错了. 解决 ...

最新文章

  1. oracle瘦连接,java-无法使用jdbc瘦驱动程序连接到oracle数据...
  2. BZOJ.2716.[Violet3]天使玩偶(CDQ分治 坐标变换)
  3. pandas数据处理分组聚合
  4. 日历记事本java代码_急需日历记事本JAVA源代码
  5. jeecg 根据数据类型key查询数据字典
  6. GraphicsMagick+im4java图片处理
  7. xml2 交叉编译移植
  8. 使用plsql创建oracle,在Oracle下使用PLSQL Developer创建简单的触发器
  9. 大数据可视化模板、模板框架、动态控件、可视化大数据原型、监控平台、图表元件库、数据看板、驾驶舱、统计图表、大数据驾驶舱、大屏展示、联勤治理、旅游、运输、车辆、校园、舆情、信息监测看板原型
  10. C语言学习篇(32)——为什么C语言不能函数重载
  11. 喂不饱的滴滴,也要撇开腾讯另立门户了
  12. 使用 Apache Pig 处理数据7
  13. ajax异步延迟加载图片,lazyload.JS实现图片异步延迟加载
  14. 鸿蒙os framework,疯壳-鸿蒙OS-HDF驱动框架
  15. Java setlocale方法_Java Configuration.setLocale方法代碼示例
  16. CTF MISC(杂项)知识点总结——图片类(一)
  17. oracle虚拟用户和密码,创建 Virtual Private Catalog(虚拟用户目录)(Oracle 11g)
  18. 12306个人敏感信息泄露
  19. 小米 11 ultra旗舰版官方原版ROM系统MIUI12所有固件
  20. 手游代理路上容易遇到哪些坑

热门文章

  1. 求e的近似值 (15分)
  2. 求e的近似值 (15 分)Java【循环】
  3. 520情人节送女朋友的3D相册礼物~html+css+js实现抖音炫酷樱花3D相册(含音乐)
  4. html动画如何设置恢复原状态,CSS秘密花园: 动画状态
  5. OpenCV/Matlab生成倒放视频(2022.1.5)
  6. 中国地质大学(武汉)计算机考研资料汇总
  7. Android进阶之路 - onTouch从简入繁
  8. 微信公众 mysql回复图片_微信公众平台开发消息回复总结介绍
  9. 计算机意外重启或错误,Win7系统安装提示计算机意外重启或遇到错误解决方案...
  10. oracle 01031 dblink,通过修改基表(link$)让非public dblink变为public