Laravel使用AlipaySDK加密解密函数名称冲突错误 Cannot redeclare Encrypt() (previously declared in

本文环境 PHP7.3,Laravel6.0 不懂的可以评论或联系我邮箱:owen@owenzhang.com 原文链接:https://blog.csdn.net/linxinyugg/article/details/109327497

错误现象:

在Laravel中,直接引入alipay时,会报这个错误:

Symfony\Component\ErrorHandler\Error\FatalError: Cannot redeclare decrypt() (previously declared in /vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:372) in file vendor/Alipay/aop/AopEncrypt.php on line 51

报错原因:

alipaySDK中定义的Encrypt()/Decrypt()函数与Laravel中定义的Encrypt()/Decrypt()函数重名了。

解决办法:

修改alipaySDK中定义的函数名称、修改引用的函数名称。

解决步骤:

在官方给的SDK中,一共有需要修改三个文件中的内容:

aop/AopEncrypt.php

aop/AopClient.php

lotusphp_runtime/Cookie/Cookie.php

最后一个cookie因为我是app支付所以找半天找不到最后发现只要吧上面有的改掉 就可以啦。

在文件中查找encrypt/decrypt替换为alipayEncrypt/alipayDecrypt即可。

Buy me a cup of coffee 🙂

觉得对你有帮助,就给我打赏吧,谢谢!

微信赞赏码链接,点击跳转:

Laravel使用AlipaySDK加密解密函数名称冲突错误 Cannot redeclare Encrypt() (previously declared in插图