Home  >  Q&A  >  body text

php - laravel5.2 openssl_encrypt() 的问题?

Call to undefined function IlluminateEncryptionopenssl_encrypt()

怎么回事啊,php是5.6.23,也开启了extension=php_openssl.dll,老是报这个错。

巴扎黑巴扎黑2771 days ago903

reply all(6)I'll reply

  • PHP中文网

    PHP中文网2017-04-11 10:28:09

    你看看那里是不是:

    $value = \openssl_encrypt(serialize($value), $this->cipher, $this->key, 0, $iv);

    reply
    0
  • 高洛峰

    高洛峰2017-04-11 10:28:09

    兄弟,我今天就为了你这个问题,注册个号,并告诉你答案。

    1、从php安装根目录中拷贝 libeay32.dll 和 ssleay32.dll , 覆盖掉apache/bin 下的对应文件,
    2、重启apache即可。

    reply
    0
  • 阿神

    阿神2017-04-11 10:28:09

    我也遇到这个问题了,但我解决掉了,因为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"

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 10:28:09

    看看PHPssl的扩展是否打开了。

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 10:28:09

    楼主解决了吗?我也遇到这个问题了,在Windows上面没问题,在ubuntu上面就不可以了,php版本都是一样的

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 10:28:09

    我也遇到过,不过自己解决了。
    上面的方法都不算错,但都不完整。

    问题起因:
    缺少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好多年了)

    reply
    0
  • Cancelreply