#41293 [Com]: HTTP_RAW_POST_DATA fails to ever be set

From: Date: Sun, 06 May 2007 14:06:40 +0000
Subject: #41293 [Com]: HTTP_RAW_POST_DATA fails to ever be set
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-112318@lists.php.net to get a copy of this message
ID: 41293 Comment by: sylvain at jamendo dot com Reported By: jerome at rainstormconsulting dot com Status: Assigned Bug Type: HTTP related Operating System: linux (centos or ubuntu) PHP Version: 5.2.2 Assigned To: iliaa New Comment: I used the same fix as Jerome, if (phpversion()=="5.2.2") $GLOBALS['HTTP_RAW_POST_DATA'] = file_get_contents("php://input"); Anyway, this seems like a duplicate of a bug that appeared in 5.1.0 (cf changelog) I just can't believe there is no unit tests for this kind of bugs that should never ever appear again. Previous Comments: ------------------------------------------------------------------------ [2007-05-06 13:42:54] jerome at rainstormconsulting dot com Putting this in a file all my services include seems to be working, but I only did this on a test machine, i will not upgrade our production server until this is resolved though. if (!isset($HTTP_RAW_POST_DATA)){ $HTTP_RAW_POST_DATA = file_get_contents('php://input'); } ------------------------------------------------------------------------ [2007-05-06 13:35:26] sylvain at jamendo dot com Are you aware that this is a *major* issue? All our xmlrpc backends are broken because of this bug, both with pear XML_RPC and XML_RPC2. Is there a workaround besides php://input ? ------------------------------------------------------------------------ [2007-05-05 14:10:44] develar at gmail dot com >> php://input is not affected only in start script, but in end script php://input is empty. ------------------------------------------------------------------------ [2007-05-04 21:13:59] sniper@php.net Only happens with RPC stuff. (soap / xml-rpc /..). php://input is not affected. ------------------------------------------------------------------------ [2007-05-04 19:50:32] jerome at rainstormconsulting dot com Description: ------------ PHP 5.2.2 fails to ever have $HTTP_RAW_POST_DATA set despite the ini setting to being On Reproduce code: --------------- Server: <?php $server = new SoapServer('myservice.wsdl'); $server->setClass('MyService'); $server->handle(); client: <?php $client = new SoapClient('myservice.wsdl', array('trace' => 1, 'exceptions' => 1)); try { $client->doSomething(); } catch(SoapFault $e) { print 'Service failure, error message: '.$e->faultstring; } Expected result: ---------------- This should proceed with no problems, an already working service setup in a web application, functioning on both PHP 5.1.6 and PHP 5.2.1 with no issues at all. Should produce no error. Actual result: -------------- Service failure, error message: Bad Request. Can't find HTTP_RAW_POST_DATA You USUALLY only see this if you access the server file (say xmlrpc.php) directly without posting any data. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41293&edit=1

« previous php.bugs (#112318) next »