#22338 [Fbk->Opn]: XML-RPC classes rely on $HTTP_RAW_POST_DATA

From: Date: Sun, 27 Apr 2003 09:20:49 +0000
Subject: #22338 [Fbk->Opn]: XML-RPC classes rely on $HTTP_RAW_POST_DATA
References: 1  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-15592@lists.php.net to get a copy of this message
ID: 22338 User updated by: stuart at gnqs dot org Reported By: stuart at gnqs dot org -Status: Feedback +Status: Open Bug Type: PEAR related Operating System: Windows XP PHP Version: 4.3.0 New Comment: Hi Philip, A simple one-liner proves that $HTTP_RAW_POST_DATA doesn't exist when register_globals=off <?php echo $HTTP_RAW_POST_DATA ?> On my PHP installation, that generates the error: Notice: Undefined variable: HTTP_RAW_POST_DATA in c:\devel\htdocs\test.php on line 3 I'd never heard of a 'always_populate_raw_post_data' directive. Wouldn't it be better to make the code work without having to set specific directives in php.ini files (not everyone has permissions to do this, y'know)? If you use the php://input stream to get the data instead, this will work in every installation. Best regards, Stu -- Previous Comments: ------------------------------------------------------------------------ [2003-04-26 18:21:01] philip@php.net Actually, this variable is not affected by register_globals, it doesn't live in any superglobal. It's its own variable. AFAICT its created when either an unrecognized mime type is provided and/or the php directive always_populate_raw_post_data = on. I tried to grasp it once but gave up, here are the related threads: http://marc.theaimsgroup.com/?l=php-dev&m=103688014620968 http://marc.theaimsgroup.com/?l=php-dev&m=103709898507271 Maybe someone with a better understanding of HTTP can make sense of all this, sorry to get a little offtopic. ------------------------------------------------------------------------ [2003-02-20 15:19:23] stuart at gnqs dot org Hi, Just been looking at the XML-RPC classes in PEAR. Granted, I haven't tried running the code, but from inspection it appears to rely on $HTTP_RAW_POST_DATA. That particular variable doesn't exist if register_globals is set to 'off'. The php://input stream has been around since PHP 3.x (according to the manual), and might be a more portable way of handling this. Just tested this under PHP 4.3.0 with register_globals off, and (as expected) it worked fine. Do any other classes in PEAR rely on $HTTP_RAW_POST_DATA? Best regards, Stu -- ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=22338&edit=1

« previous php.pear.dev (#15592) next »