You are here: cURL + OpenSSL + PHP not working « PHP Language « IT news, forums, messages
cURL + OpenSSL + PHP not working

Posted by Chris Fortune on 04/01/05 11:13

# uname -a
Linux stargate.mxc-online.net 2.4.20-021stab022.2.777-smp #1 SMP Wed Jul 28
17:12:37
MSD 2004 i686 i686 i386 GNU/Linux

I recompiled PHP with mcrypt, openssl, and curl
phpinfo(): http://www.canadiandropshipping.com/hello.php3

Does anyone know why this ssl curl test fails?
http://www.canadiandropshipping.com...t/diag_curl.php
it hangs on curl_exec(). I posted the code below.

Here is the easyapache config I used. It compiled without errors. Did I miss
something? Are there known issues with this combination of software?

/scripts/easyapache


+----------------------- Main Menu ------------------------+
� +------------------------------------------------------+ �
� �[ ] Apache 2 Support (Experimental & Very Broken, Not
� �[*] Expires Module
� �[*] Raise FD_SETSIZE to 16384 (System Wide)
� �[*] Prevent Users from reading other webroots
� �[*] Frontpage Module
� �[ ] Gzip Module (experimental)
� �[*] Raise HARD_SERVER_LIMIT
� �[ ] Perl Module (not required to run .cgi scripts/not
� �Php Module --->
� �[ ] PHP suEXEC Support
� �[*] Report Build Errors to cPanel
� �[ ] Reset Apache Config to Default (last resort)
� �[*] Rewrite Module
� �[ ] Skip Apache Build if up to date
� �[*] SSL Module
� �[*] suEXEC Module
� �[ ] Verbose Build (show configure and gcc output)
� +------------------------------------------------------+ �
+----------------------------------------------------------+







+-------------------- Php Module Menu ---------------------+
� +------------------------------------------------------+ �
� �[*] Php Module
� � (*) Version 4.3.10
� � ( ) Version 4.3.8
� � ( ) Version 4.3.9
� � ( ) Version 5.0.2 (TESTING)
� � ( ) Version 5.0.3 (TESTING)
� � (*) Bc Math
� � (*) Calendar Support
� � (*) Curl
� � (*) Curl SSL Support
� � (*) Dom XSLT
� � ( ) Exif
� � ( ) Flash
� � (*) FTP
� � (*) GD
� � ( ) GetText
� � ( ) Iconv (experimental)
� � ( ) Imap Module
� � ( ) Java (must already be installed, or install w
� � ( ) Mb String
� � (*) Mcrypt
� � ( ) Memory Limit (experimental)
� � ( ) Mhash
� � ( ) Ming Support
� � (*) Magic Quotes
� � (*) Mysql Module
� � (*) Openssl Support
� � (*) Discard Path
� � ( ) PDFlib (requires license for commerical use;
� � (*) Pear
� � ( ) Postgresql (will break 7.2.x or earlier, plea
� � ( ) Pspell Module
� � ( ) Sablot XSLT [may cause problems with chili!as
� � ( ) SafeMode
� � (*) Sockets
� � ( ) Use System Mysql
� � (*) Track Vars
� � ( ) Freetype Support
� � (*) Versioning
� � ( ) WDDX
� � ( ) XML RPC
� � ( ) Zip
� � (*) Zlib
� +------------------------------------------------------+ �
+----------------------------------------------------------�


PHP Code:
<?
/*
file created on 2/23/2004 to test CURL
*/

function ssl_connect($url,$variables=0,$parse_variables=0,$
test=0,$timeout=30,$no_headers=0){
global $SC;
define(UMURL,$url);
define(UMTIMEOUT,$timeout);

// check for presence of CURL
if (!function_exists("curl_init")){
// only display CURL error message if it hasn't been displayed
before
if (!$SC['no_curl']) print "\n<!-- Squirrelcart Error: You are using
a service which requires CURL, and it is not enabled on your web
server. -->";
$SC['no_curl'] = 1;
return;
}
// if URL has https in it, check for presence of OpenSSL

$ch = curl_init(UMURL);

// set some options for the connection
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch,CURLOPT_TIMEOUT,UMTIMEOUT);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
if (strtoupper(substr(PHP_OS,0,3)) == 'WIN') {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // this line fixes
SSL communications on some Windows servers (IIS 5.0?)
}


//curl_setopt($ch,CURLOPT_VERBOSE,1);


// attach the data
//print "query is $query<br>";

// run the transfer
$result=curl_exec ($ch);
if(curl_errno($ch) > 0) echo "<p style='color: red'><b>cURL
ERROR#".curl_errno($ch).": ".curl_error($ch)." at ".__LINE__." in
".__FILE__."</b></p>";
curl_close ($ch);
return $result;
}


print "<html><head><title>CURL Test Page</title></head><body
style=\"font-family: verdana, helvetica, tahoma; font-size: 12pt\"><b>CURL
Test Page</b><br><br>To test a regular HTTP connection via curl to
http://www.ebay.com,
<br>
<a href=\"?method=normal\">click here</a><br><br>
";
print "To test a secure HTTPS (SSL) connection via curl to
https://adwords.google.com/select/
<br>
<a href=\"?method=secure\">click here</a><br>";


if ($HTTP_GET_VARS['method']) {
print "<br><b>If a page is displayed below, the test worked. Do not
worry about broken image tags. As long as you have some output from the page
below the test is valid:</b><hr width=\"100%\" height=\"2\"><br><br>";

if ($HTTP_GET_VARS['method'] == "normal") $page = "http://www.ebay.com";
if ($HTTP_GET_VARS['method'] == "secure") $page =
"https://adwords.google.com/select/";
$page_data = ssl_connect($page);
print $page_data;
}

print "</body></html>";

?>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация