XML-RPC for PHP

Introduction

Welcome to the homepage of "XML-RPC for PHP". It is a library implementing the XML-RPC protocol, written in PHP. It is also known as PHPXMLRPC.
It is designed for ease of use, flexibility and completeness. High speed and reduced memory footprint are not the main goals of the project.

XML-RPC is a format devised by Userland Software for achieving remote procedure call via XML using HTTP as the transport. XML-RPC has its own website, http://xmlrpc.com

Note that this is not the library which can be compiled as a php extension and has been bundled with php from version 4.1 up to version 7.4.
This is also not the same library as the one that is part of PEAR, either. They both share a common ancestry, since the PEAR version is a branch of the original phpxmlrpc library, later independently maintained.

Main Features

Requirements

The library has been designed with goals of flexibility and backward compatibility. As such, it supports a wide range of PHP installs. Note that not all features of the lib are available in every configuration.

Download

For the latest release, check out the Releases page on GitHub.

NB: there are a security-related fixes in releases 4.9.1 and 4.9.2, please upgrade to 4.9.2 or later ASAP!

Ancient releases (older than version 2.2.2) are still available for historical purposes at SourceForge

License

Use of this software is subject to the terms in the license.txt file (BSD License).

News

The latest stable release is version 4.10.1 released on Feb. 22, 2023 (Release notes)

7/1/2023

The user manual has finally been updated to cover modern usage of the library. The PDF version is now available for download from this site. The API docs have been regenerated with more detailed type information.

17/12/2022

the "sister" library `jsxmlrpc`, implementing xml-rpc support in javascript with the same API of phpxmlrpc, is now available as a NodeJS package at https://www.npmjs.com/package/@jsxmlrpc/jsxmlrpc

29/11/2022

the xml-rpc debugger which was historically made available as part of this library, or as an online tool (currently at gggeek.altervista.org), is now also packaged as a Docker Container, making it easier to use by anyone who does not have a php installation set up. Available at https://github.com/gggeek/phpxmlrpc-debugger/

Older news (up to December 2021)...

Documentation

User manual

The user manual for version 4 can be viewed online on GitHub or downloaded in pdf format here; it is complemented by automatically generated API docs.
A good way to get started with API usage is to take a look at the demo source code, showcasing both Client and Server use cases.

Manuals for older versions

Release Notes

The description of changes in each release is available as part of the distribution. It is also accessible online.

Changelogs

Detailed changelogs are available on GitHub for all releases starting with 2.2.2.
A changelog for very old versions, before the introduction of git (ie. up to version 2.2.2), is also available online.

Online demo server

A demo server is active at the address https://gggeek.altervista.org/sw/xmlrpc/demo/server/server.php. It exposes functions that can be used for interoperability testing (the full code for the server is included in the Git version of the library).

Online xml-rpc debugger

A demo xml-rpc debugger application, built on top of this library, is active at the address https://gggeek.altervista.org/sw/xmlrpc/debugger/.
You can use the debugger to e.g. query the demo server, or debug your own personal xml-rpc server, if it is accessible on the net.
If your xml-rpc server is not accessible from the internet, we recommend using the Container version of the debugger.

Support

XML-RPC for PHP is offered "as-is" without any warranty or commitment to support. However, informal advice and help is available via the XML-RPC for PHP website and mailing list.

Online Support

Bugs, feature requests and patches can be posted to the project's development website.

Mailing lists

Contact

For security related issues feel free to contact ggiunta at users.sourceforge.net

The Jellyfish Book

The Jellyfish Book

Together with Simon St.Laurent and Joe Johnston, Edd Dumbill wrote a book on XML-RPC for O'Reilly and Associates on XML-RPC. It features a rather fetching jellyfish on the cover.
Complete details of the book are available from O'Reilly's web site.
Edd is responsible for the chapter on PHP, which includes a worked example of creating a forum server, and hooking it up the (now discontinued) O'Reilly's Meerkat service in order to allow commenting on news stories from around the Web.

If you've benefited from the effort that has been put into writing this software, then please consider buying the book!

Development

Source code, bug tracker, pull requests, releases are all managed on GitHub

Roadmap

See the list of issues on Github

History

XML-RPC for PHP was originally developed by Edd Dumbill of Useful Information Company. As of the 1.0 stable release, the project was opened to wider involvement and moved to SourceForge. It is hosted on GitHub since December 2013.

PHPXMLRPC or derivative versions are or have been used in many open source projects, including Ampache, Xaraya, Drupal (only up to releases 4.6.2 and 4.5.4), PostNuke, b2evolution, nucleus cms, phpmyfaq, phpPgAds, phpgroupware, egroupware, TikiWiki, Civicspace, MailWatch for MailScanner, WikiTeX and OpenAutonomy.

Acknowledgements

All the contributors listed on Github, plus:
Page last updated: 2023/2/22