php – always_populate_raw_post_data – 无法从Backbone创建访
发布时间:2020-12-13 18:24:54 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试使用Backbone.js将一个集合保存到我的数据库,并在我的服务器上运行SLIM php框架. 这是我的收藏: var newUser = this.collection.create( formData,{ wait: true,success: $.proxy(function() { this.collection.currentUser = newUser; App.Route
我正在尝试使用Backbone.js将一个集合保存到我的数据库,并在我的服务器上运行SLIM php框架.
这是我的收藏: var newUser = this.collection.create( formData,{ wait: true,success: $.proxy(function() { this.collection.currentUser = newUser; App.Router.navigate('',{ trigger: true }); },this) } ); 这是我的SLIM路线: $api->post('/users',function() use($api,$db) { $request = $api->request()->post(); $api->response()->header('Content-Type','application/json'); $result = $db->users()->insert($user); if( $result ) { echo json_encode(array( 'id' => $result['id'] )); } else { echo json_encode(array( 'status' => false,'message' => 'error_creating_user' )); } }); $api->run(); 在我的集合上调用create()时,我在服务器的响应中收到了弃用警告: 不推荐自动填充$HTTP_RAW_POST_DATA,将来的版本将删除它.要避免此警告,请在php.ini中将’always_populate_raw_post_data’设置为’-1′,然后使用php://输入流.在第0行的未知中 我已按照这些说明操作并完成以下操作: 我在我的路线之前添加了这个: ini_set('always_populate_raw_post_data','-1'); 从我的POST路径中我尝试接收请求有效负载,如下所示: $request = file_get_contents('php://input'); 在对我的代码进行此更改后,我得到的响应保持不变… 编辑 即使空回调,也会发生错误…. $api->post('/users',$db) { // nothing });
PHP 5.6中存在一个错误. always_populate_raw_post_datais的默认值为0.即使您的代码不使用$HTTP_RAW_POST_DATA,这也会导致PHP发出警告.有人声称在输出一些文本后调用header()时会发生这种情况.尝试使用ini_set()没有帮助.
您必须直接在php.ini中更改配置. always_populate_raw_post_data = -1 在PHP内部相关的discussion. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |