17

尝试运行我的 PHP 单元测试时出现此异常:

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

这是什么意思?

4

7 回答 7

25

我遇到过同样的问题。我通过编辑我的php.ini文件来解决它 - 更改;extension=php_openssl.dllextension=php_openssl.dll.

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

于 2014-09-05T14:12:56.467 回答
10

您的 PHP 版本未使用该openssl模块编译。如果您是从源代码构建,请像这样添加模块:

cd /path/to/php-5.4/
./configure --with-openssl
于 2012-06-26T17:28:37.230 回答
4

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

于 2012-06-26T17:28:32.867 回答
4

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

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

在此处输入图像描述

在此处输入图像描述

于 2014-11-11T10:37:51.680 回答
1

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

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

于 2012-10-26T06:10:59.760 回答
1

检查您的配置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
于 2019-06-21T15:40:09.487 回答
0

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

于 2021-04-08T17:23:23.630 回答