Home » Web Services » XML_RPC » Bug #3777
HTTPS Support Broken on Windows
Details
| Submitted | 2005-03-11 16:04 UTC |
|---|---|
| From | dweingart at pobox dot com |
| Assigned | danielc |
| Status | Bogus |
| Package | XML_RPC |
| PHP Version | 4.3.10 |
| OS | Windows XP |
| Roadmaps | (Not assigned) |
Comments
[2005-03-11 16:04 UTC] dweingart at pobox dot com
Description:
------------
XML_RPC_Client::sendPayloadHTTP10() relies on fsockopen to perform HTTP and HTTPS requests. fsockopen on the Windows platform does not support the SSL transport.
See: http://marc.theaimsgroup.com/?l=php-windows&m=108323973910989&w=2
The documentation refers to curl when discussing HTTPS/SSL support. Apparently at some point curl was removed. I would suggest going back to curl since its SSL support works quite well in my experience.
Reproduce code:
---------------
<?php
$client = new XML_RPC_Client('/RPC', 'www.example.com');
$client->send ($xmlrpc_message, 30, 'https');
?>
Expected result:
----------------
An XML_RPC_Response object
Actual result:
--------------
Warning: fsockopen(): no SSL support in this build
[2005-03-13 20:04 UTC] dweingart at pobox dot com
> Looking in the CVS repository indicates curl
> was ever used in the package.
I assume you meant "never used in the package". The documentation for XML_RPC_Client states "This requires the "curl" extensions to be compiled into your installation of PHP" for setCertificate().
I believe that the Usefulinc package from which this package is derived used curl functions for SSL support. curl support is widespread now in my experience, but that wasn't always the case.
I have sent you a test url in private email as requested.
[2005-03-15 14:51 UTC] dweingart at pobox dot com
> Getting openssl working right is really a system
> configuration and/or PHP issue.
It is a PHP issue, but one that can't be worked around in PHP 4 on Windows unless you use curl for the HTTP transport (or replace php4ts.dll as described in the message below):
http://marc.theaimsgroup.com/?l=php-windows&m=108323973910989&w=2
I guess strictly speaking this is more of a documentation bug. It would probably save people some time if you mentioned that HTTPS doesn't work on PHP 4/Win32.