Pingback/trackback not being posted
I have noticed that other blogs are pinging me but WP (2005-01-03) is not posting anything into the database. Come to think of it, I don’t think I’ve ever had a pingback/trackback appear since moving to 1.3+. The most recent was from http://photomatt.net/2005/01/02/spamassassin-plugin/ which I saw in my server logs:
184.108.40.206 - - [02/Jan/2005:19:47:10 -0600] "POST /xmlrpc.php HTTP/1.0" 200 313 "-" "The Incutio XML-RPC PHP Library -- WordPress/1.5-alpha-6"
220.127.116.11 - - [02/Jan/2005:19:47:13 -0600] "POST /xmlrpc.php HTTP/1.0" 200 313 "-" "The Incutio XML-RPC PHP Library -- WordPress/1.5-alpha-6"
But the ping never appeared on the post in question. Where to begin debugging this?
As a followup: It seems to be only pingbacks. I’m getting trackbacks through OK.
I think there’s a problem with xmlrpc.php on the 1.5 betas. Here’s what I’ve found out in a few minutes of digging around. I apologize if the formatting is not great on this message. I can post more detailed information if this is too vague.
I have two hosts:
production: running wp 1.5-beta-1 2005-01-03
development: running wp 1.5-beta-1 2005-01-05
1) made a test post on production which will be used to ping from development
2) made a test post on development with a link embedded in the body pointing at the test post I made on production
I sniffed the ethernet between the two machines and saw this (trimmed down)
T development:1296 -> production:80 [AP]
GET /archives/2005/01/04/pingback-test/ HTTP/1.1..Host: blog.schulte.org..User-Agent: WordPress/ PHP/4.3.10….
[ development getting the link to check to see if anything is pingable ]
T production:80 -> development:1296 [A]
HTTP/1.1 200 OK..Date: Wed, 05 Jan 2005 05:43:07 GMT..Server: Apache/1.3.33 (Unix) mod_gzip/18.104.22.168a PHP/4.3.10..X-Powered-By: PHP/4.3.10..
X-Pingback: http://blog.schulte.org/xmlrpc.php..Transfer-Encoding: chunked..Content-Type: text/html….bb9..<!DOCTYPE html PUBLIC “-//W3C//D
[blah blah, this is production sending the page back to development , with all the embedded info that it should need to complete the ping]
T development:2625 -> production:80 [AP]
POST /xmlrpc.php HTTP/1.0..Host: blog.schulte.org..Content-Type: text/xml..User-Agent: The Incutio XML-RPC PHP Library — WordPress/1.5-beta
-1 2005-01-05..Content-length: 335….<?xml version=”1.0″?>.<methodCall>.<methodName>pingback.ping</methodName>.<params>.<param><value><arra
y><data>. <value><string>http://testblog.schulte.org/wordpress/?p=2</string></value>. <value><string>http://blog.schulte.org/archives/2005
[this is development now POSTING the ping to production]
T production:80 -> development:2277 [AP]
HTTP/1.1 200 OK..Date: Wed, 05 Jan 2005 05:43:08 GMT..Server: Apache/1.3.33 (Unix) mod_gzip/22.214.171.124a PHP/4.3.10..X-Powered-By: PHP/4.3.10..
Connection: close..Content-Type: text/html….<div id=’error’>….<p class=’wpdberror’>WordPress database error: [You have
an error in your SQL syntax near ” at line 1]
SELECT ping_status FROM wp_posts WHERE ID =….</div>
al error</b>: Call to undefined function: trackback_response() in <b>/usr/home/schulte/WWW/htdocs/misc/virt/blog/xmlrpc.php</b> on line <b
[this is production’s reply, NOTE THE SQL ERRORS! It looks like production is barfing on some mysql problem in xmlrpc.php, and this is why the link is not being posted]
Looks like possibly a paste gone bad in that region of xmlrpc.php. I’ve done a patch, now I just need somebody to ping me…
Matt has already posted that xmlrpc has been fixed …. it’s in cvs too.
I just pulled 2005-01-07 and it is indeed fixed. Thanks! (Aside: we need some way to cross-reference or eliminate these duplicate posts.)
Pings are indeed working in the current cvs as well as the 2005-01-07 daily… !
Has anyone else noticed that the pingback text includes extraneous text that both precedes the original post, and (if the ping is short enough) closes with text that comes after the end of it? Has this always been the expected behavior?
This is using kubrick theme.
Only after pressing “Post” did I realize that I was replying to a “Beta discussion” thread on PingBacks. I’d waded through so many threads on this problem I inadvertently posted to the wrong one :-(. If someone wants to/can move this to a more appropriate forum that would be fine by me. Sorry.
I’ve just done my first WordPress installs and really love them. Sadly, pingbacks are making me crazy (and apparently quite a few other people given the noise on the forums and elsewhere). We have three parallel installs, and pingbacks work on one, but not the other two!
I installed the v1.8 of xmlrpc on all three in the hopes that would fix things, and it’s possible that it’s responsible for the one install working. (I’m pretty sure I sure I uploaded the new xmlrpc before trying to ping that install.) I’ve tried some of the posted fixes to functions.php and post.php on one of the other installs, but it didn’t help anything.
We’re running 1.2.2 on all three installs:
- This is a plain 1.2.2 with the only change being the new xmlrpc. This install has never successfully received PingBacks, although it can leave them on SubEvilBoy.
- This is the one I’ve played with the most (’cause it’s mine) and is where I uploaded the new xmlrpc and fiddled functions.php and posts.php. This install has never successfully received PingBacks, although it can leave them on SubEvilBoy.
- AllI’ve done here is upload the new xmlrpc file, and it’s able to receive PingBacks from both WeatherGirl and Phi.
One possible difference between SubEvilBoy and the other two is that I think that I hadn’t tried pinging it until after I had updated the xmlrpc. I’m pretty sure I’d tried PingBacks with both the other two installs before I started hunting for a fix. Is it possible that something in the DB was corrupted by attempting PingBacks with a back xmlrpc?
It’s clear that SubEvilBoy’s attempts to ping Phi are doing something because I get two e-mails, one saying that I’d been pinged and another saying a comment had been left. Looking at the site, though, there are no comments, either on the article, or in the admin interface awaiting moderation, or even in the DB according to phpmyadmin.
As a last bit of info, the e-mails and the successful PingBacks on SubEvilBoy suggest that there’s some pretty weird mangling of special characters going on, including the introduction of a lot of ‘?’s. Check out, for example, this e-mail notifying Phi of a SubEvilBoy PingBack:
New pingback on your post # “%u03C6: I am … unhindered by talent ï¿½ WordPress : Static Pages”
Website: φ: I am … unhindered by talent » Sub-Evil Boy’s frantic scrabblings ï¿½ %u03C6: I am %u2026 unhindered by talent %uFFFD WordPress : Static Pages
URI : http://UnhinderedByTalent.com/Phi/index.php?p=15
You can see all pingbacks on this post here:
In parting, I’d reiterate how nice and straightforward I’ve found WordPress to be so far, and thank all those that have worked hard on bringing together this excellent tool. Is it, however, a little disheartening to see what appears to an newbie outsider to be considerable confusion and disarray regarding such a desirable and widely used feature. Searching leads to a wide variety of disconnected “fixes” which range from “change a few things” (but don’t seem to work for everybody) to “jump from 1.2.2 to the daily build” which totally doesn’t help people like me that downloaded the “stable release”, found it didn’t work, and got all confused.
A clear, coherent fix to this problem that can either be incorporated into a 1.2.3 release or advertised prominently in these forums would be a huge help. I would certainly be more than happy to help test run such a fix since I seem to have plenty of broken installs to play with :-).
Thanks – Nic McPhee
- The topic ‘Pingback/trackback not being posted’ is closed to new replies.