as leaving it open to access means that any visitor can trigger execution of php code such as
the built-in debugger.
-
2. Via manual download and autoload configuration
1. copy the contents of the src/ folder to any location required by your
* improved: all of the API documentation has been moved out of the manual and into the source code phpdoc comments
* fixed: when the internal character set is set to UTF-8 and the client sends requests (or the server responses), too
- many characters were encoded as numeric entities, whereas some, like åäö, needed not not be
+ many characters were encoded as numeric entities, whereas some, like åäö, needed not to be
* fixed: the 'valtyp' property of Response was not present in all cases; the ValType property had been added by error
and has been removed
Code has been heavily refactored, taking care to preserve backwards compatibility as much as possible,
but some breackage is to be expected.
-The minimum required php version has been increased to 5.3, even though we strongly urge you to use
-more recent versions.
+The minimum required php version has been increased to 5.3, even though we strongly urge you to use more recent versions.
PLEASE READ CAREFULLY THE NOTES BELOW to insure a smooth upgrade.
## XML-RPC for PHP version 3.0.0 beta - 2009/09/05
This is the first release of the library to only support PHP 5.
-Some legacy code has been removed, and support for features such as exceptions
-and dateTime objects introduced.
+Some legacy code has been removed, and support for features such as exceptions and dateTime objects introduced.
-The "beta" tag is meant to indicate the fact that the refactoring has been more widespread
-than in precedent releases and that more changes are likely to be introduced with time -
-the library is still considered to be production quality.
+The "beta" tag is meant to indicate the fact that the refactoring has been more widespread than in precedent releases
+and that more changes are likely to be introduced with time - the library is still considered to be production quality.
* improved: removed all usage of php functions deprecated in php 5.3, usage of assign-by-ref when creating new objects
etc...
## XML-RPC for PHP version 2.2.2 - 2009/03/16
-This release corrects all bugs that have been reported and successfully reproduced since
-version 2.2.1.
-Regardless of the intimidating message about dropping PHP 4 support, it still does
-support that ancient, broken and insecure platform.
+This release corrects all bugs that have been reported and successfully reproduced since version 2.2.1.
+Regardless of the intimidating message about dropping PHP 4 support, it still does support that ancient, broken and
+insecure platform.
* fixed: php warning when receiving 'false' in a bool value
* fixed: improve robustness of the debugger when parsing weird results from non-compliant servers
* fixed: wrap_xmlrpc_method() generated code failed to properly encode php objects
* improved: slightly faster encoding of data which is internally UTF-8
* improved: debugger always generates a 'null' id for jsonrpc if user omits it
-* new: debugger can take advantage of a graphical value builder
- (it has to be downloaded separately, as part of jsxmlrpc package)
+* new: debugger can take advantage of a graphical value builder (it has to be downloaded separately, as part of
+ jsxmlrpc package)
* new: support for the <NIL/> xmlrpc extension
* new: server support for the system.getCapabilities xmlrpc extension
* new: wrap_xmlrpc_method() accepts two new options: debug and return_on_fault
is commented in javadoc style quite a bit.
+## XML-RPC for PHP version 1.2.1 - 2005/09
+
+This release restores compatibility with PHP3, which had been broken in release 1.2.
+The only other changes are some minor documentation updates and removal of unused
+files that had been erroneously packed in 1.2.
+
## XML-RPC for PHP version 1.2 - 2005/08/14
This removes all use of eval(), which is a potential security problem.
==============
A php library for building xml-rpc clients and servers.
-Installation
-------------
+Requirements and Installation
+-----------------------------
The recommended way to install this library is using Composer.
Detailed installation instructions are in the [INSTALL.md](INSTALL.md) file, along with system requirements listing.
Documentation
-------------
-
See the documentation page at [gggeek.github.io/phpxmlrpc](https://gggeek.github.io/phpxmlrpc) for a list of the
library main features and all project related information.
-The user manual can be found in the doc/manual directory, in AsciiDoc format: [phpxmlrpc_manual.adoc](doc/manual/phpxmlrpc_manual.adoc)
+The user manual can be found in the doc/manual directory: [phpxmlrpc_manual.adoc](doc/manual/phpxmlrpc_manual.adoc)
-Older release tarballs also contain HTML and PDF versions of the manual, as well as an automatically generated API documentation.
+Older release tarballs also contain HTML and PDF versions of the manual, as well as an automatically generated API
+documentation. The documentation for the API is currently available online at [http://gggeek.github.io/phpxmlrpc/doc-4/api/index.html](http://gggeek.github.io/phpxmlrpc/doc-4/api/index.html)
*NB: the user manual has not been updated yet with all the changes made in version 4. Please consider it unreliable!*
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/asciidoctor.js/1.5.9/css/asciidoctor.min.css">
</head>
<body>
+<h1>XML-RPC for PHP</h1>
<div id="target"></div>
<script>
var asciidoctor = Asciidoctor();
const content = "include::phpxmlrpc_manual.adoc[]"
- const html = asciidoctor.convert(content, {safe: 'safe', header_footer: false});
- document.getElementById('target').innerHTML = html;
+ try {
+ let html = asciidoctor.convert(content, {safe: 'safe'});
+ /// @todo we should make this error parsing more robust, in case we want to load a different version of jsmin above
+ if (html.includes('Unresolved directive in <stdin> - include::phpxmlrpc_manual.adoc[]')) {
+ html = 'ERROR: you are most likely viewing this file by loading it from the filesystem. You need to view it via an http request, ie. use a webserver.'
+ }
+ document.getElementById('target').innerHTML = html;
+ } catch(error) {
+ alert(error);
+ }
+
</script>
</body>
</html>
-= XML-RPC for PHP
-:revision: 4.9.23
+= XML-RPC for PHP User Manual
+:revision: 4.9.3
:keywords: xmlrpc, xml, rpc, webservices, http
:toc: left
:imagesdir: images
:source-highlighter: highlightjs
-[preface]
-== Introduction
-
-This collection of PHP classes provides a framework for writing XML-RPC clients and servers in PHP.
-
-Main goals of the project are ease of use, flexibility and completeness.
-
-The original author is Edd Dumbill of http://usefulinc.com/[Useful Information Company]. As of the 1.0 stable
-release, the project was opened to wider involvement and moved to https://sourceforge.net/projects/phpxmlrpc/[SourceForge];
-later, to https://github.com/gggeek/phpxmlrpc[Github]
-
-XML-RPC is a format devised by http://www.userland.com[Userland Software] for achieving remote procedure call
-via XML using HTTP as the transport. XML-RPC has its own web site, http://xmlrpc.com
-
-=== Acknowledgements
-
-Daniel E. Baumann
-
-James Bercegay
-
-Leon Blackwell
-
-Stephane Bortzmeyer
-
-Daniel Convissor
-
-Geoffrey T. Dairiki
-
-Stefan Esser
-
-James Flemer
-
-Ernst de Haan
-
-Tom Knight
-
-Axel Kollmorgen
-
-Peter Kocks
-
-Daniel Krippner
-
-S . Kuip
-
-A . Lambert
-
-Frederic Lecointre
-
-Dan Libby
-
-Arnaud Limbourg
-
-Ernest MacDougal Campbell III
-
-Lukasz Mach
-
-Kjartan Mannes
-
-Ben Margolin
-
-Nicolay Mausz
-
-Justin Miller
-
-Jan Pfeifer
-
-Giancarlo Pinerolo
-
-Peter Russel
-
-Jean-Jacques Sarton
-
-Viliam Simko
-
-Idan Sofer
-
-Douglas Squirrel
-
-Heiko Stübner
-
-Anatoly Techtonik
-
-Tommaso Trani
-
-Eric van der Vlist
-
-Christian Wenz
-
-Jim Winstead
-
-Przemyslaw Wroblewski
-
-Bruno Zanetti Melotti
-
-And all the contributors listed on https://github.com/gggeek/phpxmlrpc/graphs/contributors[Github]
-
-
-[[requirements]]
-== System 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.
-
-The __minimum supported__ PHP version is 5.3.
-
-If you wish to use HTTPS, HTTP 1.1 or HTTP2 to communicate with remote servers, or to use NTLM authentication, you need
-the *curl* extension compiled into your PHP installation.
-
-If you wish to receive XML-RPC requests or responses in any other character set than US-ASCII, ISO-8859-1 or UTF-8, you
-will need the *mbstring* extension compiled into your PHP installation.
-
-The *xmlrpc* native extension is not required to be compiled into your PHP installation, but if it is, there will be no
-interference with the operation of this library.
-
-
[[manifest]]
== Files in the distribution
tests/*:: the test suite for the library, written using PhpUnit, and the configuration to run it either on GitHub Actions or in a local Docker container
-[[bugs]]
-== Known Bugs
-
-Known bugs are tracked using the https://github.com/gggeek/phpxmlrpc/issues[GitHub issue tracker]
-
-
[[limitations]]
== Known limitations
Extensions to the XMLRPC protocol, such as the `+<NIL>+` tag, have to be manually enabled before usage.
-[[news]]
-== What's new
-
-The list of changes is available online at https://github.com/gggeek/phpxmlrpc/blob/master/NEWS.md.
-The detailed changelog is available on GitHub: https://github.com/gggeek/phpxmlrpc/commits[changes from the git era],
-https://github.com/gggeek/phpxmlrpc/blob/master/doc/ChangeLog[changes from the SourceForge era].
-
-
-[[support]]
-== Support
-
-=== Online 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.
-
-* The __XML-RPC for PHP__ development is hosted at https://github.com/gggeek/phpxmlrpc[github.com/gggeek/phpxmlrpc].
- Bugs, feature requests and patches can be posted to the https://github.com/gggeek/phpxmlrpc/issues[project's website].
-
-* The __PHP XML-RPC interest mailing list__ is run by the original author. More details can be found
- https://lists.usefulinc.com/cgi-bin/mailman/listinfo/phpxmlrpc[here].
-
-[[jellyfish]]
-=== The Jellyfish Book
-
-image::progxmlrpc.s.gif[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 https://www.oreilly.com/library/view/programming-web-services/0596001193/[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!
-
-
[[apidocs]]
== API documentation