is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s):

Some user's have reported getting the following error (usually on the login page):

is_readable(): open_basedir restriction in effect. File(/dev/urandom) is not within the allowed path(s):

=Reason

This happens because the php configuration for open_basedir is limitting the directories that can be accessed. And Family Connections attempts to read from /dev/urandom, which is not in your allowed list.

=Solution

There are a few ways to fix this:

  1. Change the open_basedir settings:

    1.1 Turn it off completely

    You can turn off this configuration completly and allow php to read from all directories, by setting your php.ini value for open_basedir to none.

    php_admin_value open_basedir none

    1.2 Include /dev/urandom in your settings

  2. Silence the error

    You can simply add @ in front of the is_readable() function call on line 51 of inc/thirdparty/phpass/PasswordHash.php.