84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
Call to undefined function IlluminateEncryptionopenssl_encrypt()
怎么回事啊,php是5.6.23,也开启了extension=php_openssl.dll,老是报这个错。
你看看那里是不是:
$value = \openssl_encrypt(serialize($value), $this->cipher, $this->key, 0, $iv);
兄弟,我今天就为了你这个问题,注册个号,并告诉你答案。
1、从php安装根目录中拷贝 libeay32.dll 和 ssleay32.dll , 覆盖掉apache/bin 下的对应文件,2、重启apache即可。
我也遇到这个问题了,但我解决掉了,因为laravel 5需要php 5.6环境,我开发电脑上只有php5.5(win10)于是下载 php5.6 并解压并,然后apache 2.4的httpd.ini 升级php版本(我保留了多版本,方便切换,以下的配置是正确的),出现你这个问题是因为(LoadModule指向了php5.5的目录,而PHPIniDir却是php5.6的目录)。
# php5.5 support #LoadModule php5_module D:/php-5.5.37/php5apache2_4.dll #AddType application/x-httpd-php .php .html .htm # configure thepath to php.ini #PHPIniDir "D:/php-5.5.37" # php5.6 support LoadModule php5_module D:/php-5.6.25/php5apache2_4.dll AddType application/x-httpd-php .php .html .htm # configure thepath to php.ini PHPIniDir "D:/php-5.6.25" # php7 support #LoadModule php7_module D:/php-7.0.8/php7apache2_4.dll #AddType application/x-httpd-php .php .html .htm # configure thepath to php.ini #PHPIniDir "D:/php-7.0.8"
看看PHPssl的扩展是否打开了。
楼主解决了吗?我也遇到这个问题了,在Windows上面没问题,在ubuntu上面就不可以了,php版本都是一样的
我也遇到过,不过自己解决了。上面的方法都不算错,但都不完整。
问题起因:缺少openssl的扩展功能。缺少有两种,一种是没有;一种是有,但程序找不到。
问题解决:1、没有就添加上,是否加上了看phpinfo()。添加的方法就是extension=php_openssl.dll,如何添加不懂自己百度。
2、有,但程序提示找不到。应该也是楼主的问题。版本不对应。 libeay32.dll 和 ssleay32.dll这两个文件。右键看版本,或者PHPINFO看版本。APACHE/BIN的文件,必须与PHP/EXT文件一致。我是用最新的1.0.2.10(1.0.2j)PHP必须要5.6以上,一切正常。否则PHPINFO会出现下面的:
OpenSSL Library Version OpenSSL 1.0.2j 26 Sep 2016
OpenSSL Header Version OpenSSL 1.0.1t 3 May 2016
(PHP5.5默认是1.0.1 我强制更换为1.0.2 后能用,但会出现上述版本不对应。如果使用5.6或7就没有问题,都是1.0.2。如果PHP5.3,PHP5.4是0.9.8,这个没有测试。因为我不用PHP5.3好多年了)
你看看那里是不是:
兄弟,我今天就为了你这个问题,注册个号,并告诉你答案。
1、从php安装根目录中拷贝 libeay32.dll 和 ssleay32.dll , 覆盖掉apache/bin 下的对应文件,
2、重启apache即可。
我也遇到这个问题了,但我解决掉了,因为laravel 5需要php 5.6环境,我开发电脑上只有php5.5(win10)于是下载 php5.6 并解压并,然后apache 2.4的httpd.ini 升级php版本(我保留了多版本,方便切换,以下的配置是正确的),出现你这个问题是因为(LoadModule指向了php5.5的目录,而PHPIniDir却是php5.6的目录)。
看看PHPssl的扩展是否打开了。
楼主解决了吗?我也遇到这个问题了,在Windows上面没问题,在ubuntu上面就不可以了,php版本都是一样的
我也遇到过,不过自己解决了。
上面的方法都不算错,但都不完整。
问题起因:
缺少openssl的扩展功能。缺少有两种,一种是没有;一种是有,但程序找不到。
问题解决:
1、没有就添加上,是否加上了看phpinfo()。添加的方法就是extension=php_openssl.dll,如何添加不懂自己百度。
2、有,但程序提示找不到。应该也是楼主的问题。
版本不对应。 libeay32.dll 和 ssleay32.dll这两个文件。右键看版本,或者PHPINFO看版本。APACHE/BIN的文件,必须与PHP/EXT文件一致。我是用最新的1.0.2.10(1.0.2j)
PHP必须要5.6以上,一切正常。
否则PHPINFO会出现下面的:
OpenSSL Library Version OpenSSL 1.0.2j 26 Sep 2016
OpenSSL Header Version OpenSSL 1.0.1t 3 May 2016
(PHP5.5默认是1.0.1 我强制更换为1.0.2 后能用,但会出现上述版本不对应。如果使用5.6或7就没有问题,都是1.0.2。如果PHP5.3,PHP5.4是0.9.8,这个没有测试。因为我不用PHP5.3好多年了)