php下open_basedir的配置

  在下载了YII2.0框架并成功配置了nginx之后,发现还是无法访问,查看错误日志发现报错信息有中有

require(): open_basedir restriction in effect。

  遂去网上查找,后发现是php的配置项open_basedir限制了require()访问的路径。
  open_basedir 将php所能打开的文件限制在指定的目录树中,包括文件本身。当程序要使用例如fopen()或file_get_contents()打开一个文件时,这个文件的位置将会被检查。当文件在指定的目录树之外,程序将拒绝打开。
  在linux系统中,open_basedir主要在php.ini和fastcgi.conf文件中配置,
  php.ini中配置如下:

open_basedir="指定目录";

  fastcgi.conf中配置如下:

fastcgi_param PHP_VALUE "open_basedir=指定目录";

  在windows下,主要在php.ini和apache的http.conf文件中配置,http.conf中配置如下:

php_admin_value open_basedir "指定目录"。

  用open_basedir指定的限制实际上是前缀,不是目录名。 也就是说 open_basedir=/home/fdipzone 也会允许访问/home/fdipzone_abc,如果要将访问限制为目录,请使用斜线结束路径名,例如:open_basedir=”/home/fdipzone/”。如果要设置多个目录,window使用;分隔目录,linux使用:分隔目录。
  使用open_basedir可以限制程序可操作的目录和文件,提高系统安全性。但会影响I/O性能导致系统执行变慢,因此需要根据具体需求,在安全与性能上做平衡。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 架构师必须知道的26项PHP安全实践 PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供...
    meng_philip123阅读 11,275评论 1 161
  • 这篇是Nginx安装配置PHP(FastCGI)环境的教程。Nginx不支持对外部程序的直接调用或者解析,所有的外...
    SkTj阅读 8,281评论 2 20
  • php.ini设置,上传大文件: post_max_size = 128Mupload_max_filesize ...
    bycall阅读 11,776评论 3 64
  • 今早6点成功起床。但今早由于某个学弟突然找我聊天,所以也耽误了一些时间。除去这事,早上一切顺利,吃完饭就开始看《楚...
    大白兔_X阅读 923评论 2 1
  • 分享一个能用颜色生成图片的方法,网上分享的大部分都是纯色的,但是我们有时候需要设置一些边框大小和颜色,经过思索,采...
    天涯人1104阅读 3,975评论 0 1