18

I am getting this exception when trying to run my PHP unit tests:

Fatal error: Call to undefined function openssl_random_pseudo_bytes()

What does it mean?

7 Answers 7

26

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.)

Sign up to request clarification or add additional context in comments.

Comments

10

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

Comments

4

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.

Comments

4

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.

enter image description here

enter image description here

Comments

2

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

Comments

1

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

Comments

0

For me this error occurred because i had not configured openssl correctly for my PHP. This is the exact step i followed to rectify this error. https://stackoverflow.com/a/36070260/1221096

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.