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 🙂
觉得对你有帮助,就给我打赏吧,谢谢!