为 PHP 设置了 open_basedir 后,发现使用 require 和 include 始终会报出下面这样的 Warning 信息:
Warning: require(): open_basedir restriction in effect. File() is not within the allowed path(s)
这个 Warning 信息中,require 和 File 的括号中都是空白没有内容的,经过反复检查代码,确认所引用的路径在 open_basedir 允许的范围内。
通过去国外网站搜索资料,发现是因为 open_basedir 与 eAccelerator 冲突造成的。
需要重新编译一次 eAccelerator,编译时需要带上 –without-eaccelerator-use-inode 参数。
编译完重新启动 php-fpm 并删除之前的 eAccelerator 缓存文件即可。
阳光部落原创,更多内容请访问http://www.sunbloger.com/