473,473 Members | 4,257 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

cURL + OpenSSL + PHP not working

# 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>";

?>

Jul 17 '05 #1
3 6308
Your test link is still broken and your email address still doesn't work.
I've tried to help -- again -- but can't so I'll repeat what I said before:
are you sure curl is compiled into apache? And that all this is going to
work with easyapache?

John

"Chris Fortune" <hey.spammer...ju******@job.org> wrote in message
news:Oo73e.105001$KI2.7292@clgrps12...
# 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>";

?>


Jul 17 '05 #2
Hello Tex John,

The test URL is here:
http://www.canadiandropshipping.com/.../diag_curl.php
strange, the mailing list software seemed to abbreviated it.

How do I test if curl is compiled into apache?

Thanks for your help.

Chris
Jul 17 '05 #3

"Chris Fortune" <hey.spammer...ju******@job.org> wrote in message
news:hqt3e.127466$ZO2.112422@edtnps84...
Hello Tex John,

The test URL is here:
http://www.canadiandropshipping.com/.../diag_curl.php
strange, the mailing list software seemed to abbreviated it.

How do I test if curl is compiled into apache?

Thanks for your help.

Chris


This works fine on my box (where I just had PHP and Apache recompiled with
curl and openssl).

Well, the first one works so curl works. The other one times out so never
gets around to throwing the curl error. You can try upping your curl timeout
to see if you can get to an error, but I suspect that won't help. Smells
like a server problem.

Something else I would suggest you check is that that outgoing port is open
all the way to the net. Firewalls, routers....

Do you have any SSL certs correctly installed and running which would
indicate SSL was fully functional in Apache? Maybe you can get an idea or
two from here:

http://us2.php.net/manual/en/ref.openssl.php

You may need to switch to a server NG since it looks like PHP is ok unless
something funny is going on with your openssl install.
Jul 17 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Haluk Durmus | last post by:
Hello I checked out openssl,mm,apr,apr-util,apache 2,curl,libxml and php from cvs. php couse an ERROR I did the following steps:
8
by: mrbog | last post by:
1. In order to make an http (or https) request with PHP, I need to recompile php with cURL. 2. In order to install CURL I have to upgrade my openssl rpm, even though I'm runing a version of...
0
by: Ville Mattila | last post by:
Hello readers, I'm trying to install the latest PHP4 version from the scratch. The configure string is following: ../configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --with-curl...
6
by: Wescotte | last post by:
I'm writing a tiny php app that will log into our bank of america account and retrieve a file containing a list of checks that cleared the previous day. The problem I'm running into is when I...
1
by: Rory | last post by:
I'm just starting to use cURL and having trouble accessing https pages. All I want to do at this stage is get an https page and display it, just to test the https get is working. However, I always...
0
by: jsaint | last post by:
I'm using php 5.1.2 on apache 2.0.54 and am trying to use curl to connect to an ssl server. Curl works fine using http, and the command-line client works with https. But, in php, I just get error 7...
2
by: lookee | last post by:
Hello all, I have simple PHP application that on one page strarts session and write some information to it. On another page program tryes to fetch information from a third page using cURL. On that...
3
by: k.rollman | last post by:
I am having a problem using cURL to create an https connection on a non-standard port (440). Using curl_setopt to set the port to 440 has no effect, and I get the following from curl's verbose...
11
by: Flexor | last post by:
I have a php script that runs from command line and makes an https request to paypal, using curl. It works fine if I run it from a web page. It fails if I run it from CLI. The error I get from...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.