Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:29203 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 74674 invoked by uid 1010); 4 May 2007 20:34:28 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 74659 invoked from network); 4 May 2007 20:34:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 4 May 2007 20:34:28 -0000 Authentication-Results: pb1.pair.com smtp.mail=ilia@prohost.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=ilia@prohost.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain prohost.org from 64.233.166.183 cause and error) X-PHP-List-Original-Sender: ilia@prohost.org X-Host-Fingerprint: 64.233.166.183 py-out-1112.google.com Linux 2.4/2.6 Received: from [64.233.166.183] ([64.233.166.183:43880] helo=py-out-1112.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AF/DD-21644-1D89B364 for ; Fri, 04 May 2007 16:34:27 -0400 Received: by py-out-1112.google.com with SMTP id a25so818180pyi for ; Fri, 04 May 2007 13:34:23 -0700 (PDT) Received: by 10.35.58.8 with SMTP id l8mr5846303pyk.1178310863393; Fri, 04 May 2007 13:34:23 -0700 (PDT) Received: from ?192.168.1.186? ( [204.101.63.110]) by mx.google.com with ESMTP id f24sm4318855pyh.2007.05.04.13.34.21; Fri, 04 May 2007 13:34:21 -0700 (PDT) In-Reply-To: <20070504201847.547329627@smtp.haun-online.de> References: <20070504201847.547329627@smtp.haun-online.de> Mime-Version: 1.0 (Apple Message framework v752.3) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-ID: Cc: Content-Transfer-Encoding: 7bit Date: Fri, 4 May 2007 16:34:18 -0400 To: Dirk Haun X-Mailer: Apple Mail (2.752.3) Subject: Re: [PHP-DEV] Bug? Raw POST data in PHP 5.2.2, take two From: ilia@prohost.org (Ilia Alshanetsky) Is your always_populate_raw_post_data enabled? Also, have you tried accessing the data from php://input ? On 4-May-07, at 4:18 PM, Dirk Haun wrote: > 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 --- > > 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 --- > > 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 > ) >
> Notice: Undefined index: HTTP_RAW_POST_DATA in /usr/local/ > apache/vhost/geeklog/public_html/receive.php on line 5 b>
> > ---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 > ) > > > pingback.ping > > > http://www.example.com/ > > > http://www.example.com/ > > > > > ---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://www.geeklog.net/ > http://geeklog.info/ > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > Ilia Alshanetsky