ThinkPHP5.1的环境要求如下:
- PHP >= 5.6.0
- PDO PHP Extension
- MBstring PHP Extension
最近下载了tp 5.1.19来玩,造轮子难免会遇到坑。
今天又遇到js报错:SyntaxError: Unexpected token < in JSON at position 0。根据网上的说法“json格式问题”,各种json_encode()、var_dump()检查json格式,却不能解决问题。
后面在调试信息中,无意发现以下信息:
<br />
<b>Deprecated</b>: Automatically 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. in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in <b>Unknown</b> on line <b>0</b><br />
"{\"code\":0,\"msg\":\"\\u83b7\\u53d6\\u6210\\u529f\\uff01\"}"
通过上网查询Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be remov得知关于【在高版本 php 的发版说明中都有 $HTTP_RAW_POST_DATA 即将(已经)取消,请改用从 php://input 中读取 的声明】,找到对应的解决方法:
打开php.ini配置文件,找到以下代码

|
1 |
|
改成
|
1 |
|
最后重启环境即可。
备注:有部分大佬表示$HTTP_RAW_POST_DATA 已经废弃了,所以应该使用file_get_contents('php://input');来获取。由于上面方法已经解决我的问题,所以并没有测试这种方法。在这里发出来,仅供大家参考。
本文解决了ThinkPHP5.1环境下遇到的JSON解析错误问题,并提供了详细的解决步骤,包括修改php.ini配置文件和重启环境的方法。
6338

被折叠的 条评论
为什么被折叠?



