apache - Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? -
the problem in question. i've done thorough investigation solutions in regards , know there topics , i've followed them , nothing has worked. being said i'll list out i've done far. running php 5.2.14 zend debugging on latest eclipse version on windows xp computer. have 1 gb of ram. have xampp running apache, mysql, , filezilla installed.
on xampp i've done following (apache off during these changes): clicked on admin xampp control panel , went https:// localhost/xampp/
. there accepted certs line on welcome page:
for openssl support please use test certificate https:// 127.0.0.1 or https:// localhost.
on same section checked phpinfo()
. under 'environment', server["https"]
on
. under 'apache environment', https
on
. under 'php variables, _server["https"]
on
. under 'phar', openssl support
disabled
(install ext/openssl). don't know how enable phar one.
now regarding files in c:\xampp, went php folder. under both production , development php.ini files (better safe sorry), have allow_url_fopen=on
, allow_url_include=on
, , removed semicolon, extension=php_openssl.dll
no longer commented out. confirmed .dll in ext folder of php folder. both libeay32.dll , ssleay32.dll in php , apache folders. apache folder doesn't contain either productive or development php.ini files.
i've went http://www.slproweb.com/products/win32openssl.html , installed win32 openssl v1.0.0d safe measure.
now line of code in question in retrieve_website.php looks this:
$urlquery = "https://www.googleapis.com/customsearch/v1?key=".$appid."&cx=".$google_searchid."&q=".$query."&alt=atom&num=".$results; $xmlresults = file_get_contents($urlquery);
i have 2 other websites query served via http , work fine. have line of code entered near end of script:
echo 'openssl: ', extension_loaded ('openssl') ? 'yes':'no', "\n"; echo 'http wrapper: ', in_array('http', $w) ? 'yes':'no', "\n"; echo 'https wrapper: ', in_array('https', $w) ? 'yes':'no', "\n"; echo 'wrappers: ', var_dump($w);
when run php script on eclipse, outputs fine way want along these results:
openssl: yes http wrapper: yes https wrapper: yes wrappers: array(10) { [0]=> string(5) "https" [1]=> string(4) "ftps" [2]=> string(3) "php" [3]=> string(4) "file" [4]=> string(4) "data" [5]=> string(4) "http" [6]=> string(3) "ftp" [7]=> string(13) "compress.zlib" [8]=> string(14) "compress.bzip2" [9]=> string(3) "zip" }
despite these changes i've made (after started apache), still same errors first time access php script in eclipse , firefox via http://localhost/tutorial/retrieve_website.php:
warning: file_get_contents() [function.file-get-contents]: unable find wrapper "https" - did forget enable when configured php? in c:\xampp\htdocs\tutorial\retrieve_website.php on line 29
warning: file_get_contents(https:// www.googleapis.com/customsearch/v1?key=removed api id&cx=removed search id&q=the+devil+went+down+to+georgia&alt=atom&num=5) [function.file-get-contents]: failed open stream: no such file or directory in c:\xampp\htdocs\tutorial\retrieve_website.php on line 29
warning: domdocument::loadxml() [domdocument.loadxml]: empty string supplied input in c:\xampp\htdocs\tutorial\retrieve_website.php on line 33
openssl: no http wrapper: yes https wrapper: no wrappers: array(10) { [0]=> string(3) "php" [1]=> string(4) "file" [2]=> string(4) "glob" [3]=> string(4) "data" [4]=> string(4) "http" [5]=> string(3) "ftp" [6]=> string(3) "zip" [7]=> string(13) "compress.zlib" [8]=> string(14) "compress.bzip2" [9]=> string(4) "phar" }
what have overlooked or failed do? own knowledge, i've done i've researched concerning https , openssl
i solved in xampp uncommenting ;extension=php_openssl.dll
in /apache/bin/php.ini
despite phpinfo() telling me /php/php.ini
loaded ini file.
edit: guess ezra answer best solution directly adding extension line appropriate ini file.
Comments
Post a Comment