关于
归档
友链
猫咪
后台
切换模式
返回顶部
首页
说说
日常
开发
游戏
资源
虚拟货币
首页
说说
日常
开发
游戏
资源
虚拟货币
关于
归档
友链
猫咪
后台
PHP 5.6 弃用 $HTTP_RAW_POST_DATA 所带来的小坑
开发
·
2019-03-27
LiesAuer
## 起因 在将服务器PHP版本升级至5.6之后,发现微信公众号不回复信息了,也没发现有报错信息。搞了好久,终于在 `register_shutdown_function` 中的 handler 里捕获到了如下错误信息: ```text 8192Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead.Unknown0 ``` 大致是说 `$HTTP_RAW_POST_DATA` 这个变量已经在PHP 5.6 中弃用且会在未来的版本中移除。 ## 解决方案 1. `php.ini` 中将 `always_populate_raw_post_data` 设为 `-1` ,临时解决办法,在PHP7中将被完全移除! 2. 使用`php://input` 代替 `$HTTP_RAW_POST_DATA` 但是你们以为这就是我所说的坑吗?不!!! ## 真正的坑 在我以为有可能是我所引用的 `easywechat` 这个包使用了 `$HTTP_RAW_POST_DATA` 所导致的时候,我才发现问题并没有不简单,我尝试全局搜索整个项目中的 `$HTTP_RAW_POST_DATA` 以验证这个可能性。 ![WX20190327-125745@2x.png](https://storage.liesauer.net/2019/03/3787191191.png) 当我看到这个结果的时候真的惊了,项目中根本就没有使用 `$HTTP_RAW_POST_DATA` ,`PHP` 你报个鬼的错喔! 然后我到浏览器一顿操作,发现 99% 的文章都是教你怎么关闭这个错误的,对于我这种情况压根没提到,终于皇天不负有心人,终于让我找到一篇有提及的文章了。 [PHP 5.6: “Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version.”](https://www.bram.us/2014/10/26/php-5-6-automatically-populating-http_raw_post_data-is-deprecated-and-will-be-removed-in-a-future-version/ "PHP 5.6: “Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version.”") 其中文中提及到了触发该错误的两种情况: 1. 使用了 `$HTTP_RAW_POST_DATA` 2. 接收到的响应的 MIME 不是 `application/x-www-form-urlencoded` 并且开启了 `always_populate_raw_post_data` 由于我们的是公众号程序,所以响应自然是 XML 的 MIME ,所以满足了第二点,这个错误才一直出来,而 `always_populate_raw_post_data` 这个设置的可修改范围是 `PHP_INI_PERDIR`,这意味着该配置只能在 `php.ini` `httpd.conf` `.htaccess` 中修改,在代码中是无法动态修改的,而我的虚机又是 Windows + IIS 的,不支持修改 `php.ini`,也没有 Apache,所以无奈之下只能找个时间将虚机的系统改成 Linux + Apache ,再去关闭 `always_populate_raw_post_data`。
取消回复
提交评论
李
2021-09-04
回复
终于看到个一样问题的
瞅一瞅叭
服务器推荐
RackNerd 2C2G $20.98/年(美国 隐藏款)
狗云 1C0.75G ¥150/年(香港 BGP)
热门文章
HumanMod - 免费的集N多功能于一身的HFF(人类一败涂地)插件
记抖音爬虫中所遇到的坑
设置网易邮箱大师为Win10默认邮件客户端
微信表情包工具【2023/05/04】更新
更改TLY本地代理端口
让Tauri前端部分调试如调试常规Web项目般丝滑
使用 v2rayN + SSTap 对 Win10 + WSL2 进行超简单易用的科学上网设置
最新评论
ask-to-you: 不是的,你去搜这东西 你就已经在关注了 你肯定买了
土木坛子: 有趣的灵魂。
土木坛子: 确实,真真假假,但不是每个人都能辨别出来,感谢博主指出来。
网友小宋: 之前一直在想,为什么1panel不集成钉钉等等机器人
优惠券网站: msdn,i tell you上面好像有纯净版的系统呀。。。博主...
PinHsin: pipreqs生成的模块和本地版本不一致是什么原因呢
优惠券平台: 写的很详细具体,学习到了,多谢博主的分享!⌇●﹏●⌇
关于站长
佛山
liesauer#liesauer.net
LiesAuer
CC BY-NC-SA 4.0
粤ICP备16094588号-1
萌ICP备20245567号
Theme
Jasmine
by
Kent Liao
终于看到个一样问题的