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

18

我在尝试运行我的PHP单元测试时遇到了这个异常:

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

这是什么意思?

7个回答

25

我遇到了相同的问题。通过编辑我的 php.ini 文件并将 ;extension=php_openssl.dll 更改为 extension=php_openssl.dll,我解决了这个问题。

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


10

您的PHP版本未编译openssl模块。如果您正在从源代码构建,请按以下方式添加该模块:

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

4

这意味着您可能没有启用openssl

如果您使用的是Windows系统,那么加载它就更加容易。从系统托盘中的wamp图标中启用它即可。

enter image description here

enter image description here


4
这意味着您的PHP安装中没有启用openssl扩展。必须启用此扩展才能使用openssl_*函数。

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

1

您的php安装可能没有启用openssl,或者您正在运行低于5.3版本的php。

要启用openssl,您必须使用“-with-openssl”标志重新编译和安装php。请参阅php安装文档


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接