天天看點

file_get_contents 通路 ssl 錯誤的兩種解決方法

轉自部落格園https://www.cnblogs.com/devcjq/articles/9250800.html

第一種,也是最常見的,參考:https://jingyan.baidu.com/article/72ee561a54af56e16038df60.html

打開php.ini檔案,extension=php_openssl.dll去掉前面的分号,allow_url_include = off改為allow_url_include = On,然後重新開機服務就可以了。

第二種,在國内比較少見,我也是偶然的機會在國外網站發現了,參考:https://stackoverflow.com/questions/26148701/file-get-contents-ssl-operation-failed-with-code-1-and-more

文中代碼是這樣的:

1

2

3

4

5

6

7

8

9

10

11

<?php

$arrContextOptions

=

array

(

"ssl"

=>

array

(

"verify_peer"

=>false,

"verify_peer_name"

=>false,

),

); 

$response

file_get_contents

(

"https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json"

, false, stream_context_create(

$arrContextOptions

));

echo

$response

; ?>

關鍵代碼就是這行: "ssl"=>array

我電腦使用的是phpStudy,win7系統,兩種方法結合使用,在本地測試通過,網頁沒有假死。

php