LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices



Reply
 
Search this Thread
Old 09-15-2008, 06:04 AM   #1
bions
LQ Newbie
 
Registered: Aug 2004
Location: Tucson AZ
Distribution: RedHat 8
Posts: 3

Rep: Reputation: 0
Angry Unexpected "Unsupported protocol: HTTPS" error in Apache/PHP/curl


I have encountered a frustrating bug trying to POST to an HTTPS site using curl in PHP running Apache under RedHat Enterprise Linux 5.

REDHAT LINUX: Linux bsawebserver 2.6.18-92.1.10.el5 #1 SMP Wed Jul 23 03:56:11 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
APACHE: Apache 2.2.3
PHP: php 5.1.6-20.el5_2.1.x86_64
CURL: curl 7.15.5-2.el5
OPENSSL: openssl 0.9.8b-10el5

When I try to POST from the PHP/curl code running in an Apache web page (code shown below) I get a curl error message:

Unsupported protocol: https(1)

However, if I use EXACTLY the same parameters in a command-line call to curl it works perfectly. (e.g. # curl -d "<named value string>" target_site) AND, if I put the code into a file named HTTPS_TEST.php (see below) and run it on the server like # php ./HTTPS_TEST.php it works perfectly. Curl is enabled in PHP as shown in the results of phpinfo() below, and according to the results of the curl_version() call also shown below, curl is configured to connect to https sites.

Does anyone have any idea why the https protocol isn't recognized from within an Apache web page, but will work using command-line curl or even using command-line PHP? Is there a configuration parameter set incorrectly in Apache somewhere? This is maddening.

=================================================================
PHP PROGRAM CODE (SNIPPET FROM WHERE ERROR APPEARS):

// setting the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $API_Endpoint);
curl_setopt($ch, CURLOPT_VERBOSE, 1);

// turning off the server and peer verification(TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);

// NVPRequest for submitting to server
$nvpreq = "METHOD=$methodName_&VERSION=$version&PWD=$API_Password&USER=$API_UserName&SIGNATURE=$API_Signature$ nvpStr_";

// setting the nvpreq as POST FIELD to curl
curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq);

// getting response from server
$httpResponse = curl_exec($ch);

ERROR REPORTED HERE -- "UNSUPPORTED PROTOCOL: HTTPS(1)" >>>>>
if(!$httpResponse)
{
exit("PPHttpPost - $methodName_ failed: ".curl_error($ch).'('.curl_errno($ch).')');
}



================================================================
CONTENTS OF FILE HTTPS_TEST.php, WHICH WORKS PERFECTLY WHEN CALLED ON COMMAND LINE LIKE # php ./HTTPS_TEST.php

<?php
$method_name = "SetExpressCheckout";
$version = urlencode("52.0");
$API_Password = urlencode("xxxxxxxx");
$API_UserName = urlencode("xxxxxxxxxxxxxxxxxx");
$API_Signature = urlencode("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
$nvpStr_ = "&Amt=19.95&ReturnUrl=http%3A%2F%2F71.33.78.4%2FPaid.php&CANCELURL=http%3A%2F%2F71.33.78.4%2FCart.ph p&PAYMENTACTION=Sale&CURRENCYCODE=USD";

// setting the curl parameters.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api-3t.sandbox.paypal.com/nvp");
curl_setopt($ch, CURLOPT_VERBOSE, 1);

// turning off the server and peer verification(TrustManager Concept).
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);

// NVPRequest for submitting to server
$nvpreq = "METHOD=$method_name&VERSION=$version&PWD=$API_Password&USER=$API_UserName&SIGNATURE=$API_Signature$ nvpStr_";

// setting the nvpreq as POST FIELD to curl
curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq);

// getting response from server
$httpResponse = curl_exec($ch);

NO ERROR AT THIS POINT!!!

if(!$httpResponse)
{
exit("PPHttpPost - $methodName_ failed: ".curl_error($ch).'('.curl_errno($ch).')');
}

else
{
print_r($httpResponse);
}
?>

==================================================================
RESULTS OF curl_version() CALL MADE JUST BEFORE ERROR (note HTTPS protocol):

Array ( [version_number] => 462597
[age] => 2
[features] => 1597
[ssl_version_number] => 0
[version] => 7.15.5
[host] => x86_64-redhat-linux-gnu
[ssl_version] => OpenSSL/0.9.8b
[libz_version] => 1.2.3
[protocols] => Array ( [0] => tftp [1] => ftp [2] => telnet [3] => dict [4] => ldap [5] => http [6] => file [7] => https [8] => ftps ) )


=================================================================
RESULTS OF phpinfo() CALL MADE JUST BEFORE ERROR:

PHP Version 5.1.6

System Linux bsawebserver 2.6.18-92.1.10.el5 #1 SMP Wed Jul 23 03:56:11 EDT 2008 x86_64
Build Date Jun 12 2008 05:03:35
Configure Command './configure' '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--target=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib64' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'
Server API Apache 2.0 Handler
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php.ini
Scan this dir for additional .ini files /etc/php.d
additional .ini files parsed /etc/php.d/bcmath.ini, /etc/php.d/dba.ini, /etc/php.d/dbase.ini, /etc/php.d/dom.ini, /etc/php.d/gd.ini, /etc/php.d/imap.ini, /etc/php.d/ldap.ini, /etc/php.d/mbstring.ini, /etc/php.d/mysql.ini, /etc/php.d/mysqli.ini, /etc/php.d/ncurses.ini, /etc/php.d/odbc.ini, /etc/php.d/pdo.ini, /etc/php.d/pdo_mysql.ini, /etc/php.d/pdo_odbc.ini, /etc/php.d/pdo_pgsql.ini, /etc/php.d/pdo_sqlite.ini, /etc/php.d/pgsql.ini, /etc/php.d/snmp.ini, /etc/php.d/soap.ini, /etc/php.d/xmlreader.ini, /etc/php.d/xmlrpc.ini, /etc/php.d/xmlwriter.ini, /etc/php.d/xsl.ini
PHP API 20041225
PHP Extension 20050922
Zend Extension 220051025
Debug Build no
Thread Safety disabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, http, ftp, compress.bzip2, compress.zlib, https, ftps
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, bzip2.*, zlib.*


Configuration
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference Off Off
allow_url_fopen On On
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 2047 2047
expose_php On On
extension_dir /usr/lib64/php/modules /usr/lib64/php/modules
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/usr/share/pear:/usr/share/php .:/usr/share/pear:/usr/share/php
log_errors On On
log_errors_max_len 1024 1024
magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 30 30
max_input_nesting_level 64 64
max_input_time 60 60
memory_limit 16M 16M
open_basedir no value no value
output_buffering 4096 4096
output_handler no value no value
post_max_size 8M 8M
precision 14 14
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv Off Off
register_globals Off Off
register_long_arrays Off Off
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 2M 2M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off

apache2handler
Apache Version Apache/2.2.3 (Red Hat)
Apache API Version 20051115
Server Administrator bions@usa.net
Hostname:Port BionWare.com:0
User/Group apache(48)/48
Max Requests Per Child: 100 - Keep Alive: on - Max Per Connection: 100
Timeouts Connection: 300 - Keep-Alive: 15
Virtual Server Yes
Server Root /etc/httpd
Loaded Modules core prefork http_core mod_so mod_auth_basic mod_auth_digest mod_authn_file mod_authn_alias mod_authn_anon mod_authn_dbm mod_authn_default mod_authz_host mod_authz_user mod_authz_owner mod_authz_groupfile mod_authz_dbm mod_authz_default util_ldap mod_authnz_ldap mod_include mod_log_config mod_logio mod_env mod_ext_filter mod_mime_magic mod_expires mod_deflate mod_headers mod_usertrack mod_setenvif mod_mime mod_dav mod_status mod_autoindex mod_info mod_dav_fs mod_vhost_alias mod_negotiation mod_dir mod_actions mod_speling mod_userdir mod_alias mod_rewrite mod_proxy mod_proxy_balancer mod_proxy_ftp mod_proxy_http mod_proxy_connect mod_cache mod_suexec mod_disk_cache mod_file_cache mod_mem_cache mod_cgi mod_version mod_php5 mod_proxy_ajp

Directive Local Value Master Value
engine 1 1
last_modified 0 0
xbithack 0 0

Apache Environment
Variable Value
HTTP_HOST bionware.com
HTTP_USER_AGENT Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE en-us,en;q=0.5
HTTP_ACCEPT_ENCODING gzip,deflate
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_KEEP_ALIVE 300
HTTP_CONNECTION keep-alive
HTTP_COOKIE PHPSESSID=dc1o888t62qjul7mo5p15p27e3
CONTENT_TYPE application/x-www-form-urlencoded
CONTENT_LENGTH 19
PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/bion/bin
SERVER_SIGNATURE <address>Apache/2.2.3 (Red Hat) Server at BionWare.com Port 80</address>
SERVER_SOFTWARE Apache/2.2.3 (Red Hat)
SERVER_NAME BionWare.com
SERVER_ADDR 71.33.78.4
SERVER_PORT 80
REMOTE_ADDR 71.33.78.1
DOCUMENT_ROOT /var/www/BionWare/html/
SERVER_ADMIN bions@usa.net
SCRIPT_FILENAME /var/www/BionWare/html/Checkout.php
REMOTE_PORT 3005
GATEWAY_INTERFACE CGI/1.1
SERVER_PROTOCOL HTTP/1.1
REQUEST_METHOD POST
QUERY_STRING no value
REQUEST_URI /Checkout.php
SCRIPT_NAME /Checkout.php

HTTP Headers Information
HTTP Request Headers
HTTP Request POST /Checkout.php HTTP/1.1
Host bionware.com
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 300
Connection keep-alive
Cookie PHPSESSID=dc1o888t62qjul7mo5p15p27e3
Content-Type application/x-www-form-urlencoded
Content-Length 19
HTTP Response Headers
X-Powered-By PHP/5.1.6
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma no-cache
Keep-Alive timeout=15, max=90
Connection Keep-Alive
Transfer-Encoding chunked
Content-Type text/html; charset=UTF-8

bz2
BZip2 Support Enabled
Stream Wrapper support compress.bz2://
Stream Filter support bzip2.decompress, bzip2.compress
BZip2 Version 1.0.3, 15-Feb-2005

ctype
ctype functions enabled

curl
CURL support enabled
CURL Information libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5

date
date/time support enabled
Timezone Database Version 0.system
Timezone Database internal
Default timezone America/Denver

Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone no value no value

dom
DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.26
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled

exif
EXIF Support enabled
EXIF Version 1.4 $Id: exif.c,v 1.173.2.5 2006/04/10 18:23:24 helly Exp $
Supported EXIF Version 0220
Supported filetypes JPEG,TIFF

ftp
FTP support enabled

gd
GD Support enabled
GD Version bundled (2.0.28 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.2.1
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

gettext
GetText Support enabled

gmp
gmp support enabled

hash
hash support enabled
Hashing Engines md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru gost adler32 crc32 crc32b haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

iconv
iconv support enabled
iconv implementation glibc
iconv library version 2.5

Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1

imap
IMAP c-Client Version 2004
SSL Support enabled
Kerberos Support enabled

ldap
LDAP Support enabled
RCS Version $Id: ldap.c,v 1.161.2.3 2006/01/01 12:50:08 sniper Exp $
Total Links 0/unlimited
API Version 3001
Vendor Name OpenLDAP
Vendor Version 20327
SASL Support Enabled

libxml
libXML support active
libXML Version 2.6.26
libXML streams enabled

mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 3.7.1

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding no value no value
mbstring.language neutral neutral
mbstring.strict_detection Off Off
mbstring.substitute_character no value no value

mime_magic
mime_magic support invalid magic file, disabled

Directive Local Value Master Value
mime_magic.debug Off Off
mime_magic.magicfile /usr/share/file/magic.mime /usr/share/file/magic.mime

mysql
MySQL Support enabled
Active Persistent Links 1
Active Links 1
Client API version 5.0.45
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_INCLUDE -I/usr/include/mysql
MYSQL_LIBS -L/usr/lib64/mysql -lmysqlclient

Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off

mysqli
MysqlI Support enabled
Client API library version 5.0.45
Client API header version 5.0.45
MYSQLI_SOCKET /var/lib/mysql/mysql.sock

Directive Local Value Master Value
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket no value no value
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.reconnect Off Off

ncurses
ncurses support enabled
ncurses library version 5.5
color support yes

odbc
ODBC Support enabled
Active Persistent Links 0
Active Links 0
ODBC library unixODBC
ODBC_INCLUDE -I/usr/include
ODBC_LFLAGS -L/usr/lib64
ODBC_LIBS -lodbc

Directive Local Value Master Value
odbc.allow_persistent On On
odbc.check_persistent On On
odbc.default_db no value no value
odbc.default_pw no value no value
odbc.default_user no value no value
odbc.defaultbinmode return as is return as is
odbc.defaultlrl return up to 4096 bytes return up to 4096 bytes
odbc.max_links Unlimited Unlimited
odbc.max_persistent Unlimited Unlimited

openssl
OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.8b 04 May 2006

pcre
PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 6.6 06-Feb-2006

PDO
PDO support enabled
PDO drivers mysql, odbc, pgsql, sqlite

pdo_mysql
PDO Driver for MySQL, client library version 5.0.45

PDO_ODBC
PDO Driver for ODBC (unixODBC) enabled
ODBC Connection Pooling Enabled, strict matching

pdo_pgsql
PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 8.1.11
Module version 1.0.2
Revision $Id: pdo_pgsql.c,v 1.7.2.11 2006/03/14 10:49:18 edink Exp $

pdo_sqlite
PDO Driver for SQLite 3.x enabled
PECL Module version 1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6 2006/01/01 12:50:12 sniper Exp $
SQLite Library 3.3.6

pgsql
PostgreSQL Support enabled
PostgreSQL(libpq) Version 8.1.11
Multibyte character support enabled
SSL support enabled
Active Persistent Links 0
Active Links 0

Directive Local Value Master Value
pgsql.allow_persistent On On
pgsql.auto_reset_persistent Off Off
pgsql.ignore_notice Off Off
pgsql.log_notice Off Off
pgsql.max_links Unlimited Unlimited
pgsql.max_persistent Unlimited Unlimited

posix
Revision $Revision: 1.70.2.3 $

pspell
PSpell Support enabled

Reflection
Reflection enabled
Version $Id: php_reflection.c,v 1.164.2.33 2006/03/29 14:28:42 tony2001 Exp $

session
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 5 5
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0

shmop
shmop support enabled

SimpleXML
Simplexml support enabled
Revision $Revision: 1.151.2.22 $
Schema support enabled

snmp
NET-SNMP Support enabled
NET-SNMP Version 5.3.1

soap
Soap Client enabled
Soap Server enabled

Directive Local Value Master Value
soap.wsdl_cache 1 1
soap.wsdl_cache_dir /tmp /tmp
soap.wsdl_cache_enabled 1 1
soap.wsdl_cache_limit 5 5
soap.wsdl_cache_ttl 86400 86400

sockets
Sockets Support enabled

SPL
SPL support enabled
Interfaces Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, DirectoryIterator, DomainException, EmptyIterator, FilterIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RuntimeException, SimpleXMLIterator, SplFileInfo, SplFileObject, SplObjectStorage, SplTempFileObject, UnderflowException, UnexpectedValueException

standard
Regex Library Bundled library enabled
Dynamic Library Support enabled
Path to sendmail /usr/sbin/sendmail -t -i

Directive Local Value Master Value
assert.active 1 1
assert.bail 0 0
assert.callback no value no value
assert.quiet_eval 0 0
assert.warning 1 1
auto_detect_line_endings 0 0
default_socket_timeout 60 60
safe_mode_allowed_env_vars PHP_ PHP_
safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH
url_rewriter.tags a=href,area=href,frame=src,input=src,form=fakeentry a=href,area=href,frame=src,input=src,form=fakeentry
user_agent no value no value

sysvmsg
sysvmsg support enabled
Revision $Revision: 1.20.2.3 $

tokenizer
Tokenizer Support enabled

wddx
WDDX Support enabled
WDDX Session Serializer enabled

xml
XML Support active
XML Namespace Support active
libxml2 Version 2.6.26

xmlreader
XMLReader enabled

xmlwriter
XMLWriter enabled

xsl
XSL enabled
libxslt Version 1.1.17
libxslt compiled against libxml Version 2.6.26
EXSLT enabled
libexslt Version 1.1.17

zlib
ZLib Support enabled
Stream Wrapper support compress.zlib://
Stream Filter support zlib.inflate, zlib.deflate
Compiled Version 1.2.3
Linked Version 1.2.3

Directive Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level -1 -1
zlib.output_handler no value no value

Additional Modules
Module Name
dbase
ionCube Loader
sysvsem
sysvshm

Environment
Variable Value
REMOTEHOST BSA1
HOSTNAME bsawebserver
SHELL /bin/bash
TERM vt100
HISTSIZE 1000
KDE_NO_IPV6 1
USER bion

KDEDIR /usr
MAIL /var/spool/mail/bion
PATH /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/bion/bin
INPUTRC /etc/inputrc
PWD /etc
LANG en_US.UTF-8
KDE_IS_PRELINKED 1
SSH_ASKPASS /usr/libexec/openssh/gnome-ssh-askpass
SHLVL 3
HOME /root
LOGNAME bion
CVS_RSH ssh
LESSOPEN |/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES 1
_ /usr/sbin/httpd

PHP Variables
Variable Value
_REQUEST["Check_out"] Check out
_REQUEST["PHPSESSID"] dc1o888t62qjul7mo5p15p27e3
_POST["Check_out"] Check out
_COOKIE["PHPSESSID"] dc1o888t62qjul7mo5p15p27e3
 
Old 09-15-2008, 06:07 AM   #2
billymayday
Guru
 
Registered: Mar 2006
Location: Sydney, Australia
Distribution: Fedora, CentOS, OpenSuse, Slack, Gentoo, Debian, Arch, PCBSD
Posts: 6,678

Rep: Reputation: 122Reputation: 122
Have you ruled out SELinux?

Try it with

setenforce 0

before turning it back on with

setenforce 1
 
Old 09-16-2008, 12:33 AM   #3
bions
LQ Newbie
 
Registered: Aug 2004
Location: Tucson AZ
Distribution: RedHat 8
Posts: 3

Original Poster
Rep: Reputation: 0
Thumbs down Tried shutting off SELinux -- no dice

Thanks much billymayday for the suggestion. I had been keeping an eye on SELinux via the log, but this time I tried shutting it off. Even after restarting Apache I still get the same error. How does curl know whether or not it's being called from within Apache? That has to be the key, since the same code that's in the web page works either directly as command-line curl or indirectly as command-line PHP.
 
Old 09-16-2008, 12:43 AM   #4
billymayday
Guru
 
Registered: Mar 2006
Location: Sydney, Australia
Distribution: Fedora, CentOS, OpenSuse, Slack, Gentoo, Debian, Arch, PCBSD
Posts: 6,678

Rep: Reputation: 122Reputation: 122
Quote:
Originally Posted by bions View Post
Thanks much billymayday for the suggestion. I had been keeping an eye on SELinux via the log, but this time I tried shutting it off. Even after restarting Apache I still get the same error. How does curl know whether or not it's being called from within Apache? That has to be the key, since the same code that's in the web page works either directly as command-line curl or indirectly as command-line PHP.
I guess if it's being called from apache it's being run as the apache user.

I suggested the SELinux thing because half the time it's the last thing I remember to check (you'd think I'd learn), which would be OK if it were also the first, but it rarely is.

You should change your distro in your profile (what's Redhat 8?)
 
Old 09-16-2008, 12:54 AM   #5
Mr. C.
Senior Member
 
Registered: Jun 2008
Posts: 2,529

Rep: Reputation: 59
Quote:
Originally Posted by bions View Post
...How does curl know whether or not it's being called from within Apache? That has to be the key, since the same code that's in the web page works either directly as command-line curl or indirectly as command-line PHP.
Apache is compiled against the libcurl libraries.

Code:
curl
CURL support enabled
CURL Information libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
The curl function calls you make at the beginning of your php program initialize the curl data structures needed. Much of the code that apache links against (libcurl) will be shared with the command line curl; apache does not call the command line curl, so the behavior between the two can be different (as you experience).

I don't have an answer for why your php program is failing.
 
Old 09-16-2008, 07:08 AM   #6
bions
LQ Newbie
 
Registered: Aug 2004
Location: Tucson AZ
Distribution: RedHat 8
Posts: 3

Original Poster
Rep: Reputation: 0
Lightbulb Mea Culpa

MEA CULPA! MEA CULPA! After trying everything else I began to suspect a bug in the Apache code. I patched in the manually edited code that works in command-line and tried it, and suddenly it works in Apache! The problem all along was an extraneous space in the MySQL field containing the URL. The error wasn't that the "HTTPS" protocol is unsupported, it was that " HTTPS" (with leading space) is unsupported. I'm so used to C# where you trim everything nicely before using it that I never looked at the actual string.

SORRY TO BOTHER YOU! THIS THREAD IS CLOSED. You can delete it if you like, since it's unlikely to be of use to anyone.
 
Old 11-29-2010, 11:51 AM   #7
initsix
LQ Newbie
 
Registered: Nov 2010
Posts: 1

Rep: Reputation: 0
++

I just ran into this problem. Thanks for posting the solution!
 
  


Reply

Tags
apache, curl, php, selinux


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
What's the meaning of "PHP Parse error: parse error, unexpected $ in..." frandalla Programming 23 03-04-2009 01:34 PM
Backup Script error "line 31: syntax error: unexpected end of file" eswanepoel General 7 12-07-2007 10:28 AM
Simple bash script "unexpected end of line error" snowman81 Programming 11 11-11-2007 10:31 AM
connecting openbsd to linux nfs mount - "unsupported protocol" error animehair *BSD 4 03-28-2005 02:21 AM
curl "incompatible pointer type" while making PHP basse- Linux - Software 2 04-15-2004 11:21 AM


All times are GMT -5. The time now is 12:16 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration