Rumah >pembangunan bahagian belakang >tutorial php >php下open_basedir的配置

php下open_basedir的配置

不言
不言asal
2018-04-23 10:06:562966semak imbas

这篇文章主要介绍的内容是关于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性能导致系统执行变慢,因此需要根据具体需求,在安全与性能上做平衡。


Atas ialah kandungan terperinci php下open_basedir的配置. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:用PDO操作MySQL数据库Artikel seterusnya:php的socket通信内容