openbase_dir 警告说文件不在路径中,但随后正确列出了路径

openbase_dir warning says file is not in path, but then lists the path correctly

我在旧的 php 项目中使用 MDB2,我刚刚将其移至新服务器。

项目框架依赖一些open_basedir配置。

但有些事情很奇怪。

我收到以下错误,它说文件 /usr/share/pear/MDB2/Driver/mysql.php 不在允许的路径内,但随后在允许的路径列表中列出了文件 /usr/share/pear/MDB2/Driver 的路径...

为什么会这样?

PHP Warning:  is_readable(): open_basedir restriction in effect.
File(/usr/share/pear/MDB2/Driver/mysql.php) is not within the allowed path(s): 
(/var/some-paths:/usr/share/php:/usr/share/pear/MDB2/Driver) in /usr/share/php/MDB2.php on line 933

解决方法是特定文件本身不存在。

Pear 可选功能,如特定的数据库类型,必须单独安装,而这尚未完成。

该错误消息在某种程度上具有误导性。我想从技术上讲它是正确的,但它使错误看起来是 open_basedir 配置的问题,而不是找不到文件。