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好多年了)