You are using a language that is built on top of a web server that does things using HTTP. You can't really have an apache thread constantly open listening for an ICMP packet. Thus, I assume you mean "ping" metaphorically and not literally.
Look into a web services approach. That is, your blog sends an HTTP request (POST or GET) to another website script. It's not listening in the traditional daemon sense (apache or HTTP daemon is listening though.) And thus when that page gets "pinged" you will know yout blog is updated. You ought to build some kind of authentication so nothing else can "ping" your page. That is, you want to be sure it came from the blog.
Of course, if the blog and your script are on the same machine, just query the database periodically to see if the blog was updated (see cron.) Of course, this is not feasible if the "listening" script is on a remote server.
If you need web services after all, look into SOAP, XML-RPC, or REST. Here's an article on PHP Web services.