This manual page says:
Note: As of PHP 5.4.0 session.entropy_file defaults to
/dev/urandom
or/dev/arandom
if it is available. In PHP 5.3.0 this directive is left empty by default.
So, what's /dev/arandom
and how does it differ from /dev/[u]random
?
This page does a reasonable job explaining what the device is:
More information about the underlying technique is available from Wikipedia.
From here. It appears as though
arandom
will guarantee that sufficient entropy is present before returning the amount of data requested. It also appears to be limited to OpenBSD implementations.urandom
will return the amount of data requested no matter whether there is enough entropy -- which obviously could introduce a vulnerability if there is not enough.