|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38180 curl_errno:35, Unknown SSL protocol
Submitted: 2006-07-21 18:15 UTC Modified: 2006-07-22 13:05 UTC
From: martin dot wirth dot job1 at miradigm dot com Assigned:
Status: Not a bug Package: cURL related
PHP Version: 5.1.4 OS: 2.4.20-021stab028.17.777-enterpr
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem:
43 + 21 = ?
Subscribe to this entry?

 [2006-07-21 18:15 UTC] martin dot wirth dot job1 at miradigm dot com
Upgrading from PHP 4.2 to PHP 5.1.4 broke the cURL connection.

Reproduce code:
The following code worked with PHP 4.2 but now produces no response:

$ch = curl_init($gateway);
curl_setopt($ch, CURLOPT_VERBOSE,TRUE);
curl_setopt($ch, CURLOPT_HEADER, 0); // set to 0 to eliminate header info from response
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Returns response data instead of TRUE(1)
curl_setopt($ch, CURLOPT_POSTFIELDS,$postdata);
$res = curl_exec($ch);
curl_close ($ch);

After upgrading to PHP 5.1.4 only the command line works:

$res = exec("/usr/bin/curl -iL -d '$postdata' --url '$gateway'");

The gateway is a secure web site connected with my secure web site where both URLs begin with "https://".

Although my workaround solves the problem. There is now a bug between cURL and PHP5.

Expected result:
Top example returns nothing but should return a response into array $res.

Bottom example returns that same as prior to PHP5 upgrade. It is a patch that demonstrate that the cURL lib may be working correctly while the new version of PHP may have an interfacing issue with it.

Actual result:
curl_errno() returns error 35 "Unknown SSL protocol..." after curl_exec().


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2006-07-21 18:39 UTC]
Make sure the https server is really SSL enabled.
 [2006-07-22 13:05 UTC] martin dot wirth dot job1 at miradigm dot com
My web host recompiled Apache --with-openssl and curl_error($ch) still returns:

Unknown SSL protocol error in connection to [secure site]:443

The certs are OK. The secure domain presents correctly. So, Apache seems to know where the CA information is.

In case Apache was passing wrong information to PHP and cURL, I also tried setting CURLOPT_SSL_VERIFYPEER true and CURLOPT_CAPATH explicitly to the following:
[absolute path]/ssl 
[absolute path]/ssl/certs 
[absolute path]/ssl/CA 

These tests produced the same disappointing result.

The exec(...) workaround still succeeds.
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Wed Apr 14 06:01:24 2021 UTC