尝试运行我的 PHP 单元测试时出现此异常:
致命错误:调用未定义函数 openssl_random_pseudo_bytes()
这是什么意思?
我遇到过同样的问题。我通过编辑我的php.ini文件来解决它 - 更改;extension=php_openssl.dll
为extension=php_openssl.dll
.
(对于我的安装,我的php.ini文件位于我的P:\Program Files\EasyPHP-12.1\conf_files\
目录中。)
您的 PHP 版本未使用该openssl
模块编译。如果您是从源代码构建,请像这样添加模块:
cd /path/to/php-5.4/
./configure --with-openssl
这意味着您没有在 PHP 安装中启用openssl 扩展。需要启用它才能使用 openssl_* 函数。
这意味着您可能没有启用openssl 。
如果您在 Windows 上,则更容易加载它。从系统托盘上的 wamp 图标启用它。
您的 php 安装没有启用 openssl,或者您可能正在运行 php < 5.3 的版本。
要启用 openssl,您必须使用“–with-openssl”标志重新编译和安装 php。见php安装文档
检查您的配置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
对我来说,发生此错误是因为我没有为我的 PHP 正确配置 openssl。这是我纠正此错误所遵循的确切步骤。 https://stackoverflow.com/a/36070260/1221096