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

时间:2015-01-08 10:40:37

标签: php phpass

我正在使用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

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

1 个答案:

答案 0 :(得分:1)

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

否则,请将is_readable替换为@is_readable来取消警告。然后,PHPass将使用PHP函数生成随机值。