【php】打开网站时有关open_basedir的报错解决方法

在项目环境搭建好准备上线时,多数小白还是会遇到以下场景:
明明我把项目放上去了,项目路径也指定了,为什么还是会报这个错!!!!


image.png

其实有道词典可以告诉你:

你的项目没有配置open_basedir导致项目访问不了!

那为啥会这样?
因为在php.ini中,open_basedir配置的是将用户访问限制在指定区域中
比如:
我有个/www/web文件夹,内部有htmlA和htmlB两个文件夹,如果我在对应网站指定的php版本的php.ini中设置了

open_basedir = "/www/web"

那我访问
localhost/htmlA/a.txt

localhost/htmlB/b.txt
都是可以正常访问
但是我设置了

open_basedir = "/www/web/htmlA"

那我就只能访问到htmlA内的文件
那如果我想指定某一个目录内的少数几个文件夹能被访问该怎么做?
那就比如说
我/www/web下有htmlA,htmlB,htmlC我想只开放A和B,那就

open_basedir = "/www/web/:/htmlA/:/htmlB/"

多个文件夹用:隔开即可
然后重启nginx或者apache,网站就可以正常访问啦

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

推荐阅读更多精彩内容