我们在Wordpress网站中使用预订插件,该插件使用 Sage Pay库进行付款处理。最近建议我们升级到PHP版本7.1,但是,在运行兼容性检查时,发现了mcrypt错误:
> The following plugins/themes are not compatible with PHP 7.1. Booking > Calendar See Errors > --------------------------------------------------------------------------------- FILE: /home/ . . . > /public_html/wp-content/plugins/booking.bl.7.1/inc/gateways/sage/wpbc-gw-sage.php > --------------------------------------------------------------------------------- FOUND 0 ERRORS AND 4 WARNINGS AFFECTING 2 LINES > --------------------------------------------------------------------------------- 1205 | WARNING | Function mcrypt_encrypt() is deprecated since PHP > 7.1; use OpenSSL instead 1205 | WARNING | Extension 'mcrypt' is deprecated since PHP 7.1 - use openssl (preferred) or pecl/mcrypt once > available instead. 1237 | WARNING | Function mcrypt_decrypt() is > deprecated since PHP 7.1; use OpenSSL instead 1237 | WARNING | > Extension 'mcrypt' is deprecated since PHP 7.1 - use openssl > (preferred) or pecl/mcrypt once available instead. > ---------------------------------------------------------------------------------
如您所见,该插件的当前版本中不推荐使用该功能。在与插件编码人员联系后,我得知有问题的代码是“ Sage Pay”库的一部分,并且它们(插件编码员)必须等待上游编码器(即Sage Pay)在修复库之前进行修复修改。
我意识到该论坛上其他地方已弃用了该功能,here和here上都有主要反馈,称将在PHP 7.2中删除mcrypt,并且该代码的用户应迁移到openssl_encrypt。实际上,该警告并不能阻止用户迁移到PHP 7.1,因为如果我正确理解,该不赞成使用的功能尚未删除,因此仍然可以正常使用。
那我为什么要发布这个帖子。好吧,因为先前的线程都没有将此通知为Sage Pay用户及其下游插件的潜在问题,所以我认为应该通过此论坛向 Sage Pay支持发出通知。