PHPass выдает предупреждение: is_readable () [function.is-readable]: действует ограничение open_basedir

0

Я использую 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

Что здесь не так, и как я могу это исправить?

Теги:
phpass

1 ответ

1
Лучший ответ

Он сообщает вам, что происходит: /dev/ не является одной из папок, на которые разрешено открывать файлы, они указаны в сообщении об ошибке. Если нужно, вам нужно изменить значение open_basedir.

В противном случае is_readable предупреждение, заменив is_readable на @is_readable. Затем PHPass будет использовать функции PHP для генерации случайных значений.

  • 0
    Как мне это сделать?
  • 0
    Это потребует доступа к php.ini. Я предполагаю, что вы находитесь на каком-то общем хостинге? Чем вы не сможете изменить это (по уважительным причинам, иначе вы можете просто пойти и изучить каталоги других людей). Возможно, вам придется обойтись случайными функциями PHP, см. Stackoverflow.com/a/10364236/4421490
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню