致命错误:调用未定义的函数openssl_random_pseudo_bytes()

时间:2012-06-26 17:27:37

标签: php openssl

我在尝试运行PHP单元测试时遇到此异常:

  

致命错误:调用未定义的函数openssl_random_pseudo_bytes()

这是什么意思?

7 个答案:

答案 0 :(得分:21)

我有同样的问题。我通过编辑 php.ini 文件解决了这个问题 - 将;extension=php_openssl.dll更改为extension=php_openssl.dll

(对于我的安装,我的 php.ini 文件位于我的P:\Program Files\EasyPHP-12.1\conf_files\目录中。)

答案 1 :(得分:9)

您的PHP版本未使用openssl模块进行编译。如果从源代码构建,请添加模块,如下所示:

cd /path/to/php-5.4/
./configure --with-openssl

答案 2 :(得分:4)

这意味着您可能未启用openssl

如果你在Windows上,它更容易加载它。从系统托盘上的wamp图标启用它。

enter image description here

enter image description here

答案 3 :(得分:3)

这意味着您没有在PHP安装中启用openssl extension。需要启用它才能使用openssl_ *函数。

答案 4 :(得分:1)

你的php安装没有启用openssl,或者你可能正在运行一个版本的php< 5.3。

要启用openssl,您必须使用“-with-openssl”标志重新编译并安装php。见php installation documentation

答案 5 :(得分:0)

检查您的配置 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

答案 6 :(得分:0)

对我来说,发生这个错误是因为我没有为我的 PHP 正确配置 openssl。 这是我纠正此错误所遵循的确切步骤。 https://stackoverflow.com/a/36070260/1221096