[LDAP] 升级PHP版本到PHP7.1之后PHPldapadmin报错解决

环境:CentOS7.3 + PHP-5.4.16 + PHPldapadmin1.2.3

问题:升级PHP到PHP-7.1.25版本之后PHPldapadmin报错:“Unrecognized error number: 8192: Function mcrypt_module_open() is deprecated”。

 

 

解决:

打开报错的文件,注释掉mcrypt_module_open相关的代码块,一共有两处。

[root@ldap1 ~]# vi /usr/share/phpldapadmin/lib/functions.php
/*  第一段注释
        if (function_exists('mcrypt_module_open') && ! empty($data)) {
                $td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_ECB,'');
                $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_DEV_URANDOM);
                mcrypt_generic_init($td,substr($secret,0,mcrypt_enc_get_key_size($td)),$iv);
                $encrypted_data = base64_encode(mcrypt_generic($td,$data));
                mcrypt_generic_deinit($td);

                return $encrypted_data;
        }
*/

        if (file_exists(LIBDIR.'blowfish.php'))
                require_once LIBDIR.'blowfish.php';
        else
                return $data;


...

/* 第二段注释
        if (function_exists('mcrypt_module_open') && ! empty($encdata)) {
                $td = mcrypt_module_open(MCRYPT_BLOWFISH,'',MCRYPT_MODE_ECB,'');
                $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td),MCRYPT_DEV_URANDOM);
                mcrypt_generic_init($td,substr($secret,0,mcrypt_enc_get_key_size($td)),$iv);
                $decrypted_data = trim(mdecrypt_generic($td,base64_decode($encdata)));
                mcrypt_generic_deinit($td);

                return $decrypted_data;
        }
*/

        if (file_exists(LIBDIR.'blowfish.php'))
                require_once LIBDIR.'blowfish.php';
        else
                return $encdata;

 重启httpd服务

[root@ldap1 ~]# systemctl restart httpd

再次打开网页,已经不报错了

 

参考: https://forums.gentoo.org/viewtopic-p-8161044.html?sid=c7e1093f8e24218a4a1789af57e0060a

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值