Hello "Unknown", you are wrong, the name is right please learn your lessons before writing to internals.
To the original problem: Ilia committed a fix a few hours ago which should fix the problem. Feel free to test a current snapshot. johannes On Sun, 2007-05-06 at 11:34 -0700, Unknown W. Brackets wrote: > It sounds like you have register_globals off, which is a good thing imho. > > You are trying $HTTP_RAW_POST_DATA but my recollection tells me it is > $_SERVER['HTTP_RAW_POST_DATA']. Does the latter work? > > Anyway, reading from php://input is more correct and doesn't depend on > PHP settings as much, as far as I know. > > -[Unknown] > > > -------- Original Message -------- > > > I believe this is a bug in PHP 5.2.2. I've tried to report this for PHP > > 5.2.2RC2 but apparently wasn't making myself clear or wasn't following > > the proper procedures ... > > > > Anyway, as I wrote before[1], "raw" POST data isn't making it through in > > PHP 5.2.2 which results in XML-RPC communications to fail, at least when > > using the PEAR::XML_RPC package. > > > > Consider this little script (send.php): > > > > --- snip --- > > <?php > > > > require_once 'XML/RPC.php'; > > > > $sourceURI = 'http://www.example.com/'; // doesn't matter here > > $targetURI = $sourceURI; > > > > $client = new XML_RPC_Client('/receive.php', $_SERVER['HTTP_HOST']); > > $client->setDebug(1); > > $msg = new XML_RPC_Message('pingback.ping', > > array(new XML_RPC_Value($sourceURI, 'string'), > > new XML_RPC_Value($targetURI, 'string'))); > > > > $response = $client->send($msg, 0, 'http'); > > > > ?> > > --- snip --- > > > > This makes a simple XML-RPC call as used for Pingbacks. For the > > receiving end of the communication, let's use this as receive.php: > > > > --- snip --- > > <?php > > > > print_r(getallheaders()); > > > > echo $GLOBALS['HTTP_RAW_POST_DATA'] . "\n\n"; > > > > ?> > > --- snip --- > > > > Now when I call up send.php (both located in the web root of a server > > running PHP 5.2.2), I get this output: > > > > ---GOT--- > > HTTP/1.1 200 OK > > Date: Fri, 04 May 2007 20:07:58 GMT > > Server: Apache/1.3.37 (Unix) PHP/5.2.2 > > X-Powered-By: PHP/5.2.2 > > Connection: close > > Content-Type: text/html > > > > Array > > ( > > [Content-Length] => 282 > > [Content-Type] => text/xml > > [Host] => myhost.example.com > > [User-Agent] => PEAR XML_RPC > > ) > > <br /> > > <b>Notice</b>: Undefined index: HTTP_RAW_POST_DATA in <b>/usr/local/ > > apache/vhost/geeklog/public_html/receive.php</b> on line <b>5</b><br /> > > > > ---END--- > > > > So $GLOBALS['HTTP_RAW_POST_DATA'] is not set. The PEAR::XML_RPC package > > actually uses $HTTP_RAW_POST_DATA on the receiving end, but that doesn't > > appear to be set either. And the always_populate_raw_post_data option in > > php.ini doesn't make a difference. > > > > Switching back to PHP 5.2.1 (same machine, same configuration) makes > > everything work as expected: > > > > ---GOT--- > > HTTP/1.1 200 OK > > Date: Fri, 04 May 2007 20:11:28 GMT > > Server: Apache/1.3.37 (Unix) PHP/5.2.1 > > X-Powered-By: PHP/5.2.1 > > Connection: close > > Content-Type: text/html > > > > Array > > ( > > [Content-Length] => 282 > > [Content-Type] => text/xml > > [Host] => myhost.example.com > > [User-Agent] => PEAR XML_RPC > > ) > > <?xml version="1.0" encoding="UTF-8"?> > > <methodCall> > > <methodName>pingback.ping</methodName> > > <params> > > <param> > > <value><string>http://www.example.com/</string></value> > > </param> > > <param> > > <value><string>http://www.example.com/</string></value> > > </param> > > </params> > > </methodCall> > > > > ---END--- > > > > This is on a Linux box, but I have confirmation (thanks, Mike) of the > > same thing happening on Windows. > > > > Can anyone please > > > > 1) confirm this or tell me what I'm doing wrong and > > 2) tell me what else I should have done (other than posting here and > > emailing Ilia, as the PHP 5 release manager), in case I ever run into > > something similar again. > > > > Thanks. > > > > bye, Dirk > > > > [1] <http://news.php.net/php.internals/29103> > > > > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php