PHP7 微信支付回调失败 解决

admin8年前程序心得1739

升级完PHP7 发现微信支付回调失败。原来是 $GLOBALS['HTTP_RAW_POST_DATA'];没有定义的问题。php7 移除了这个全局变量。

问题代码如下:

微信API :WxPay.Api.PHP

[plain] view plain copy 在CODE上查看代码片派生到我的代码片
  1. public static function notify($callback, &$msg)  

  2.     {  

  3.         //获取通知的数据  

  4.         $xml = $GLOBALS['HTTP_RAW_POST_DATA'];//这里在php7下不能获取数据,使用 php://input 代替  

  5.         if(!$xml){  

  6.             $xml = file_get_contents("php://input");  

  7.         }  

  8.         //如果返回成功则验证签名  

  9.         try {  

  10.             $result = WxPayResults::Init($xml);  

  11.         } catch (WxPayException $e){  

  12.             $msg = $e->errorMessage();  

  13.             return false;  

  14.         }  

  15.           

  16.         return call_user_func($callback, $result);  

  17.     }  


附加tcpdump抓包命令:tcpdump -i em2 -vnn port 80 -w xxx.cap

解析工具wireshark

分享到:

相关文章

mysql5.6.38占用内存过大问题解决

mysql5.6.38占用内存过大问题解决

在my.cnf文件中添加了如下三个参数:  performance_schema_max_table_instances=400  table_definition_cache=400  table_...

KindEditor自动过滤首行缩进和全角空格的解决方法

KindEditor 4.1.11:kindeditor-all.js 文件第772行:var re = /(\s*)<(\/)?([\w\-:]+)((?:\s+|(?:\s+[\w...

ios5的safari浏览器的电话号码识别功能的禁用

更详细的apple官方文档: https://developer.apple.com/library/safari/#featuredarticles/iPhoneURLScheme_Ref...

定义了浮动元素后margin-bottom失效的解决办法

定义了浮动元素后margin-bottom失效的解决办法

虽然IE6慢慢的退出市场了,但是还是有必要了解一些兼容问题,让自己的知识有一个更好的沉淀。margin-bottom的bug是容器div的 'zoom:1' 触发了 hasLayout...

解决在微信内分享第三方链接标题、图片、摘要、链接等问题

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> &...

css3新单位vw、vh的使用详解

css3新单位vw、vh的使用详解

响应式布局的单位我们第一时间会想到通过rem单位来实现适配,但是它还需要内嵌一段脚本去动态计算跟元素大小。比如:(function (doc, win) {  ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。