PHPass 产生警告:is_readable() [function.is-readable]: open_basedir 限制有效

PHPass producing warning: is_readable() [function.is-readable]: open_basedir restriction in effect

我正在使用 PHPass 来加密存储在我的数据库中的密码。运行此代码时:

if (is_readable('/dev/urandom') && ($fh = @fopen('/dev/urandom', 'rb'))) {
    ...
}

它产生这个警告:

Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s): 
(/home/d36234:/usr/local/lib/php:/var/apachefs/uploads:/tmp:/etc/file/magic) in /home/d36234/.../PasswordHash.php on line 51

这里有什么问题,我该如何解决?

它告诉您发生了什么:/dev/ 不是允许您从中打开文件的文件夹之一,这些在错误消息中给出。如果可以,您需要更改 open_basedir value

否则,通过将 is_readable 替换为 @is_readable 来抑制警告。 PHPass 然后将使用 PHP 函数生成随机值。