在项目环境搭建好准备上线时,多数小白还是会遇到以下场景:
明明我把项目放上去了,项目路径也指定了,为什么还是会报这个错!!!!
其实有道词典可以告诉你:
你的项目没有配置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,网站就可以正常访问啦