A php library for building xmlrpc clients and servers
OTHER License
Bot releases are visible (Hide)
Published by gggeek about 5 years ago
fixed: allow handling huge xml messages (>=10MB) (issue #71)
improved: make it easier to overtake the library's usage of error_log
Published by gggeek over 5 years ago
This release makes the legacy api of the library compatible with php 7.2 by removing one more deprecation warning.
Published by gggeek over 5 years ago
This release makes the library compatible with php 7.2 by removing one more deprecation warning.
NB moving to version 4 of the library is the recommended option unless you absolutely can not upgrade, as it comes with many improvements and is fully API compatible with version 3.
Published by gggeek over 6 years ago
This release makes the library compatible with php 7.2 by removing the deprecation warnings.
NB moving to version 4 of the library is the recommended option unless you absolutely can not upgrade, as it comes with many improvements and is fully API compatible with version 3.
Published by gggeek almost 7 years ago
fixed: error when using https in non-curl mode
fixed: compatibility of tests with php 7.2
fixed: html injection in sample code
fixed: warnings emitted by the legacy server in xmlrpcs.inc
fixed: encoding of php variables of type 'resource' when using xmlrpc_encode in php-compatibility mode
fixed: bad html tag in sample code
improved: text of error messages
Published by gggeek almost 7 years ago
fixed: compatibility with Basic/Digest/NTLM auth when using client in cURL mode (issue #58)
improved: added unit tests for Basic and Digest http auth. Also improved tests suite
improved: support for doing https calls without resorting to cURL
new: allow to force usage of curl for http 1.0 calls, as well as plain socket for https calls, via the method Client::setUseCurl()
Published by gggeek about 7 years ago
Published by gggeek about 7 years ago
Published by gggeek over 7 years ago
This release makes the library compatible with php 7 by removing the deprecation warnings.
NB moving to version 4 of the library is the recommended option unless you absolutely can not upgrade, as it comes with many improvements.
The only other changes are:
Published by gggeek over 7 years ago
Only a small improvement his time around
Published by gggeek about 8 years ago
Bug only triggered when not using the compatibility shim with old versions
Published by gggeek over 8 years ago
Apart from that, no other bugfixes
Published by gggeek over 8 years ago
Fix for issue #33: excessive usage of numeric charset entities when converting utf8 to latin-1
Published by gggeek almost 9 years ago
This release does away with the past and starts a transition to modern-world php.
The minimum required php version has been increased to 5.3, even though we strongly urge you to use more recent versions.
Code has been heavily refactored, taking care to preserve backwards compatibility as much as possible, but some breackage is to be expected.
For anyone upgrading from version 3, two choices are possible:
PLEASE READ CAREFULLY THE NOTES BELOW to insure a smooth upgrade.
new: introduction of namespaces and full OOP.
All php classes have been renamed and moved to separate files.
Class autoloading can now be done in accord with the PSR-4 standard.
All global variables and global functions have been removed.
Iterating over xmlrpc value objects is now easier thank to support for ArrayAccess and Traversable interfaces.
Backward compatibility is maintained via lib/xmlrpc.inc, lib/xmlrpcs.inc and lib/xmlrpc_wrappers.inc.
For more details, head on to doc/api_changes_v4.md
changed: the default character encoding delivered from the library to your code is now utf8.
It can be changed at any time setting a value to PhpXmlRpc\PhpXmlRpc::$xmlrpc_internalencoding
improved: the library now accepts requests/responses sent using other character sets than UTF-8/ISO-8859-1/ASCII.
This only works when the mbstring php extension is enabled.
improved: no need to call anymore $client->setSSLVerifyHost(2) to silence a curl warning when using https with recent curl builds
improved: the xmlrpcval class now supports the interfaces Countable and IteratorAggregate
improved: a specific option allows users to decide the version of SSL to use for https calls.
This is useful f.e. for the testing suite, when the server target of calls has no proper ssl certificate, and the cURL extension has been compiled with GnuTLS (such as on Travis VMs)
improved: the function wrap_php_function() now can be used to wrap closures (it is now a method btw)
improved: all wrap_something() functions now return a closure by default instead of a function name
improved: debug messages are not html-escaped any more when executing from the command line
improved: the library is now tested using Travis ( https://travis-ci.org/ ).
Tests are executed using all php versions from 5.3 to 7.0 nightly, plus HHVM; code-coverage information is generated using php 5.6 and uploaded to both Code Coverage and Scrutinizer online services
improved: phpunit is now installed via composer, not bundled anymore
improved: when phpunit is used to generate code-coverage data, the code executed server-side is accounted for
improved: the test suite has basic checks for the debugger and demo files
improved: more tests in the test suite
fixed: the server would not reset the user-set debug messages between subsequent service() calls
fixed: the server would not reset previous php error handlers when an exception was thrown by user code and exception_handling set to 2
fixed: the server would fail to decode a request with ISO-8859-1 payload and character set declaration in the xml prolog only
fixed: the client would fail to decode a response with ISO-8859-1 payload and character set declaration in the xml prolog only
fixed: the function decode_xml() would not decode an xml with character set declaration in the xml prolog
fixed: the client can now successfully call methods using ISO-8859-1 or UTF-8 characters in their name
fixed: the debugger would fail sending a request with ISO-8859-1 payload (it missed the character set declaration).
It would have a hard time coping with ISO-8859-1 in other fields, such as e.g. the remote method name
fixed: the debugger would generate a bad payload via the 'load method synopsis' button for signatures containing NULL or undefined parameters
fixed: the debugger would generate a bad payload via the 'load method synopsis' button for methods with multiple signatures
improved: the debugger is displayed using UTF-8, making it more useful to debug any kind of service
improved: echo all debug messages even when there are characters in them which php deems to be in a wrong encoding; previously those messages would just disappear (this is visible e.g. in the debugger)
changed: debug info handling
improved: makefiles have been replaced with a php_based pakefile
improved: the source for the manual is stored in asciidoc format, which can be displayed natively by GitHub with nice html formatting. Also the HTML version generated by hand and bundled in tarballs is much nicer to look at than previous versions
improved: all php code is now formatted according to the PSR-2 standard
Published by gggeek over 9 years ago
This release does away with the past and starts a transition to modern-world php.
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.
PLEASE READ CAREFULLY THE NOTES BELOW to insure a smooth upgrade.
new: introduction of namespaces and full OOP.
All php classes have been renamed and moved to separate files.
Class autoloading can now be done in accord with the PSR-4 standard.
All global variables and global functions have been removed.
Iterating over xmlrpc value objects is now easier thank to support for ArrayAccess and Traversable interfaces.
Backward compatibility is maintained via lib/xmlrpc.inc, lib/xmlrpcs.inc and lib/xmlrpc_wrappers.inc.
For more details, head on to doc/api_changes_v4.md
changed: the default character encoding delivered from the library to your code is now utf8.
It can be changed at any time setting a value to PhpXmlRpc\PhpXmlRpc::$xmlrpc_internalencoding
improved: the library now accepts requests/responses sent using other character sets than UTF-8/ISO-8859-1/ASCII.
This only works when the mbstring php extension is enabled.
improved: no need to call anymore $client->setSSLVerifyHost(2) to silence a curl warning when using https with recent curl builds
improved: the xmlrpcval class now supports the interfaces Countable and IteratorAggregate
improved: a specific option allows users to decide the version of SSL to use for https calls.
This is useful f.e. for the testing suite, when the server target of calls has no proper ssl certificate, and the cURL extension has been compiled with GnuTLS (such as on Travis VMs)
improved: the function wrap_php_function() now can be used to wrap closures (it is now a method btw)
improved: all wrap_something() functions now return a closure by default instead of a function name
improved: debug messages are not html-escaped any more when executing from the command line
improved: the library is now tested using Travis ( https://travis-ci.org/ ).
Tests are executed using all php versions from 5.3 to 7.0 nightly, plus HHVM; code-coverage information is generated using php 5.6 and uploaded to both Code Coverage and Scrutinizer online services
improved: phpunit is now installed via composer, not bundled anymore
improved: when phpunit is used to generate code-coverage data, the code executed server-side is accounted for
improved: the test suite has basic checks for the debugger and demo files
improved: more tests in the test suite
fixed: the server would not reset the user-set debug messages between subsequent service() calls
fixed: the server would not reset previous php error handlers when an exception was thrown by user code and exception_handling set to 2
fixed: the server would fail to decode a request with ISO-8859-1 payload and character set declaration in the xml prolog only
fixed: the client would fail to decode a response with ISO-8859-1 payload and character set declaration in the xml prolog only
fixed: the function decode_xml() would not decode an xml with character set declaration in the xml prolog
fixed: the client can now successfully call methods using ISO-8859-1 or UTF-8 characters in their name
fixed: the debugger would fail sending a request with ISO-8859-1 payload (it missed the character set declaration).
It would have a hard time coping with ISO-8859-1 in other fields, such as e.g. the remote method name
fixed: the debugger would generate a bad payload via the 'load method synopsis' button for signatures containing NULL or undefined parameters
fixed: the debugger would generate a bad payload via the 'load method synopsis' button for methods with multiple signatures
improved: the debugger is displayed using UTF-8, making it more useful to debug any kind of service
improved: echo all debug messages even when there are characters in them which php deems to be in a wrong encoding;
previously those messages would just disappear (this is visible e.g. in the debugger)
changed: debug info handling
improved: makefiles have been replaced with a php_based pakefile
improved: the source for the manual is stored in asciidoc format, which can be displayed natively by GitHub
with nice html formatting. Also the HTML version generated by hand and bundled in tarballs is much nicer
to look at than previous versions
improved: all php code is now formatted according to the PSR-2 standard
Published by gggeek over 9 years ago
This release corrects all bugs that have been reported and successfully reproduced since
version 3.0.0:
Taking baby steps to modern-world php, this release is now tested using Travis ( https://travis-ci.org/gggeek/phpxmlrpc ).
Improved: no need to call anymore $client->setSSLVerifyHost(2) to silence a curl warning when using https with recent curl builds
Published by gggeek over 10 years ago
After a long wait, version 3.0 is finally declared stable.
All known bugs have been fixed.
PHP version requirements have been bumped up to 5.1.
The next version will most likely undergo some major changes, removing usage of global variables, introducing namespaces and other cleanups...
Published by gggeek almost 11 years ago
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.
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.
Published by gggeek almost 11 years ago
This release corrects all bugs that have been reported and sucesfully reproduced since
version 2.2.1.
Regardless of the intimitading message about dropping PHP 4 support, it still does
support that ancient, broken and insecure platform.