समस्या सवाल में है। मैंने इस संबंध में समाधान के लिए गहन जांच की है और मुझे पता है कि इसके विषय हैं और मैंने उनका अनुसरण किया है और कुछ भी काम नहीं किया है। कहा जा रहा है कि मैं अभी तक जो कुछ भी मैंने किया है, उसे बिल्कुल सूचीबद्ध करूँगा मैं अपने Windows XP कंप्यूटर पर नवीनतम ग्रहण संस्करण पर Zend डिबगिंग के साथ PHP 5.2.14 चला रहा हूं। मेरे पास 1 जीबी की रैम है। मेरे पास एक्सएएमपीपी है जो अपाचे, MySQL और फाइलज़िला के साथ चल रहा है।
XAMPP पर मैंने निम्नलिखित काम किया है (Apache इन परिवर्तनों के दौरान बंद था): XAMPP नियंत्रण कक्ष से व्यवस्थापक पर क्लिक किया और गया https:// localhost/xampp/
। वहाँ से मैंने स्वागत पृष्ठ पर इस पंक्ति के सेरेटों को स्वीकार किया:
OpenSSL समर्थन के लिए कृपया https: // 127.0.0.1 या https: // localhost के साथ परीक्षण प्रमाणपत्र का उपयोग करें।
उसी खंड पर मैंने जाँच की phpinfo()
। 'पर्यावरण' के तहत, SERVER["HTTPS"]
है on
। 'अपाचे पर्यावरण' के तहत, HTTPS
है On
। 'PHP चर, के तहत _SERVER["HTTPS"]
है On
। 'फर' के अंतर्गत, OpenSSL support
है disabled
(स्थापित ext / openssl)। मुझे नहीं पता कि फ़ार वन को कैसे सक्षम किया जाए।
अब C: \ xampp में स्वयं फ़ाइलों के बारे में, मैं PHP फ़ोल्डर में गया। दोनों के उत्पादन और विकास php.ini फ़ाइलें (बेहतर खेद से सुरक्षित) के तहत, मेरे पास है allow_url_fopen=On
, allow_url_include=On
और इतना है कि मैं अर्धविराम हटा दिया, extension=php_openssl.dll
अब कोई टिप्पणी की है। मैंने यह भी पुष्टि की है कि .dll PHP फ़ोल्डर के बाहरी फ़ोल्डर में है। दोनों libeay32.dll और ssleay32.dll PHP और Apache फ़ोल्डर में हैं। Apache फ़ोल्डर में या तो उत्पादक या विकास php.ini फ़ाइलें नहीं हैं।
मैं http://www.slproweb.com/products/Win32OpenSSL.html पर गया हूं और सुरक्षित उपाय के लिए Win32 OpenSSL v1.0.0d स्थापित किया है।
अब मेरे पुनः प्राप्त करने की विधि में कोड की पंक्ति इस तरह दिखती है:
$urlquery = "https://www.googleapis.com/customsearch/v1?key=".$appid."&cx=".$google_searchid."&q=".$query."&alt=atom&num=".$results;
$xmlresults = file_get_contents($urlquery);
मेरे पास दो अन्य वेबसाइटें हैं जिन्हें मैं क्वेरी करता हूं लेकिन उन्हें HTTP के माध्यम से परोसा जाता है और वे ठीक काम करती हैं। मेरे पास स्क्रिप्ट के अंत में दर्ज की गई कोड की यह पंक्ति भी है:
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);
जब मैं इसे एक्लिप्स पर PHP स्क्रिप्ट के रूप में चलाता हूं, तो सब कुछ पूरी तरह से ठीक होता है जिस तरह से मैं इन परिणामों के साथ चाहता हूं:
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"
}
इन सभी परिवर्तनों के बावजूद, मैंने (अपाचे को शुरू करने के बाद), मुझे अभी भी वही त्रुटियां पहली बार मिली हैं जब मैं अपने PHP स्क्रिप्ट को एक्लिप्स और फ़ायरफ़ॉक्स में http: //localhost/tutorial/retrieve_website.php के माध्यम से एक्सेस करता हूं :
चेतावनी: file_get_contents () [function.file-get-content]: आवरण "https" खोजने में असमर्थ - क्या आपने PHP कॉन्फ़िगर करते समय इसे सक्षम करना भूल गए? C: \ xampp \ htdocs \ ट्यूटोरियल \ 29 पर लाइन में पुनः प्राप्त करें / पुनर्प्राप्त करें।
चेतावनी: file_get_contents (https: // www.googleapis.com/customsearch/v1?key= हटाए गए API आईडी और cx = हटाए गए खोज आईडी & q = + शैतान + + + जॉर्जिया और alt = परमाणु और num = 5) के लिए नीचे + चला गया [function.file-get-सामग्री]: स्ट्रीम को खोला करने में विफल: ऐसा कोई फ़ाइल या सी में निर्देशिका: \ XAMPP \ htdocs \ ट्यूटोरियल पर लाइन 29 \ retrieve_website.php
चेतावनी: DOMDocument :: loadXML () [domdocument.loadxml]: 33 में लाइन पर C: \ xampp \ htdocs \ tutorial \ tutorialve_website.php में इनपुट के रूप में आपूर्ति की गई खाली स्ट्रिंग
खुलने का समय: कोई http आवरण: हाँ https आवरण: कोई आवरण: सरणी (10) {[0] => स्ट्रिंग (3) "php" [1] => स्ट्रिंग (4) "फ़ाइल" [2] => स्ट्रिंग (4) ) "ग्लोब" [3] => स्ट्रिंग (4) "डेटा" [4] => स्ट्रिंग (4) "http" [5] => स्ट्रिंग (3) "एफ़टीपी" [6] => स्ट्रिंग (3) " zip "[7] => स्ट्रिंग (13)" compress.zlib "[8] => स्ट्रिंग (14)" compress.bzip2 "[9] => स्ट्रिंग (4)" चरण "}
ऐसा क्या है जिसे मैंने अनदेखा किया है या करने में असफल रहा है? अपने ज्ञान के लिए, मैंने HTTPS और OpenSSL के बारे में जो भी शोध किया है, वह सब कुछ किया है
/apache/bin/php.ini
, मैं इसे XAMPP पोर्टेबल लाइट 1.8.1 में नहीं पा सकता हूँ? हालांकिphp/php.ini
मौजूद है, लेकिन यहां ssl को सक्षम करने से मदद नहीं मिलती :(