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

Π‘Π°ΠΉΡ‚ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ Π² Π‘Ρ‚ΡƒΠ΄ΠΈΠΈ Π’Π°Π»Π΅Π½Ρ‚ΠΈΠ½Π° ΠŸΠ΅Ρ‚Ρ€ΡƒΡ‡Π΅ΠΊΠ°
ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π΅Π±-сайтов, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, поисковая оптимизация