我在尝试运行PHP单元测试时遇到此异常:
致命错误:调用未定义的函数openssl_random_pseudo_bytes()
这是什么意思?
答案 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)
答案 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