I am getting this exception when trying to run my PHP unit tests:
Fatal error: Call to undefined function openssl_random_pseudo_bytes()
I had the same issue. I solved it by editing my php.ini file - changing ;extension=php_openssl.dll
to extension=php_openssl.dll
.
(For my installation, my php.ini file was located in my P:\Program Files\EasyPHP-12.1\conf_files\
directory.)
Your version of PHP wasn't compiled with the openssl
module. If you are building from source, add the module like so:
cd /path/to/php-5.4/
./configure --with-openssl
Your php installation either does not have openssl enabled, or you could be running a version of php < 5.3.
To enable openssl, you must re-compile and install php with the "–with-openssl" flag. See php installation documentation
Check your configuration php.ini:
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
extension_dir = "ext"
extension=php_openssl.dll
It means you possibly don't have openssl enabled.
If you are on windows its even easier to load it. Enable it from wamp icon on system tray.
It means you do not have the openssl extension enabled in your PHP install. It needs to be enabled for you to use openssl_* functions.