Я использую 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.
В противном случае is_readable
предупреждение, заменив is_readable
на @is_readable
. Затем PHPass будет использовать функции PHP для генерации случайных значений.