XML-RPC server accepts POST requests only – WordPress Error
May 19th, 2007
Lost an hour today to trying to debug Ecto posting to this weblog (if you're not using Ecto, you should consider it).
I was constantly getting this error:
XML-RPC server accepts POST requests only
Finally I wrote up a nice little support ticket for Dreamhost with all the details. Surprisingly I got the fix back in relatively short order.
I was wondering what the problem with WordPress was. It turned out to be a PHP 5.2.2 bug. The file xmlrpc.php is broken under PHP 5.2.2. As WordPress is the weblog system in widest use in the entire world, it would be nice if the PHP team would get with the real world and debug their releases before rolling them out.
The solution, for now, is to edit the xmlrpc.php file in your Wordpress installation and add the following code:
if (phpversion()=="5.2.2") $GLOBALS['HTTP_RAW_POST_DATA'] =
file_get_contents("php://input");
The beginning of my xmlrpc.php file looks like this:
define('XMLRPC_REQUEST', true);
// Some browser-embedded clients send cookies. We don't want them.
$_COOKIE = array();
if (phpversion()=="5.2.2") $GLOBALS['HTTP_RAW_POST_DATA'] =
file_get_contents("php://input");
And XMLRPC is now working again.
I made this fix and now Ecto works a charm again. Alas, this isn't the first time a PHP error has brough XMLRPC/Ecto down on WordPress weblogs.
A number of things went wrong here:
- the PHP developers dropped the ball on their debugging
- Dreamhost dropped the ball rolling out 5.2.2 with such a bug in it
- Dreamhost dropped the ball a final time by not proactively notifying all its customers who are running WordPress weblogs about this bug
I've made this post as I was unable to find any useful information about the XML-RPC serve accepts POST requests only bug when searching Google for that phrase plus WordPress and plus Ecto. I hope other unfortunates find this post more quickly than I found the solution.

WP Spam Free: Reducing Server Load
13 comments on “XML-RPC server accepts POST requests only – WordPress Error”
01

http://wordpress.org/support/topic/117421
Google “XML-RPC server accepts POST requests only” wordpress
Sometimes being too specific is the wrong direction.
02

Thank you for posting this – it worked for me too!
03

Thanks, this works for me :)
04

Also me, thanks!
05

Wow you have saved me such a head ache..
06

Thanks! Tengo la solucian ahora!
07

Thanks for your post. It fixed the problem and I’m able to use ecto again.
08
[...] Wordpress XMLPRC broken in PHP 5.2.2 If you’re wondering why my regular linkdump posts have been absent, it’s because my hosts upgraded PHP without noticing that the upgrade breaks the bit of the Wordpress that allows the auto-post from del.icio.us. Here’s the fix I’ve found and used. (tags: php wordpress del.icio.us) [...]
09

Still can’t get it to work, can’t get rid of this ‘XML-RPC server accepts POST requests only.’
What do I do?
10

Hi Mark,
This may have changed in the latest Wordpress (2.7+) as the external posting functionality has been enhanced. If you figure it out, please let me know so I can update our information to cover the latest versions.
11

Same error, but the above doesn’t fix. Have WordPress version 2.5.1 with PHP 5.2.3.
I’m trying to use Windows Live Writer to post to my wordpress site, but it says:
The server reported an error with the following URL:
…/xmlrpc.php
403 Forbidden
When I go to my xmlrpc.php page it says:
XML-RPC server accepts POST requests only.
Ideas?
12

Hello trent,
upgrade from 2.5.1 to 2.8 shouldn’t be that hard, so I would recommend you to do that. Not only the XML RPC will work, but your blog will be more secure.
Thanks,
M.
13

I am using PHP version 4.2.3
Is there any problem for working of XML-RPC ?
Leave a Reply