我正在使用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
这里有什么问题,我该如何解决?
答案 0 :(得分:1)
它会告诉您发生了什么:/dev/
不是允许您打开文件的文件夹之一,这些文件在错误消息中给出。如果可以的话,您需要更改open_basedir value。
否则,请将is_readable
替换为@is_readable
来取消警告。然后,PHPass将使用PHP函数生成随机值。