2014-06-25 44 views
0

在上Lighttpd的運行PHP 5.5我有的file_get_contents(https://開頭的URL)無法

  • 於allow_url_fopen在
  • allow_url_include在
  • OpenSSL的支持啓用
  • OpenSSL庫/頭我的Ubuntu 12.04服務器版本1.0.1 2012年3月14日

我不知道這是對的,但我也在extension = openssl.so在我的php.ini文件中,並重新由服務器啓動。我在日誌中看不到任何不良的錯誤消息。

儘管如此,我仍然得到未能打開流:連接超時。沒有https的同一個URL工作得很好。我錯過了什麼

+1

如果它是一個PHP配置問題,你只會得到沒有這樣的功能或沒有處理程序可用。連接超時更多地指向網絡問題,例如防火牆阻止端口443上的傳出請求。 –

+0

@Marc B如果您在回答中提到網絡問題,我會接受它:-) – DroidOS

+0

根據您的回答,我正在投票結束作爲無法複製的問題(假定您修復你的亞洲服務器)。 – jww

回答

0

正如有人所說,這是一個網絡問題。其實,我說錯了,當我說http://exmaple.com工作,而https://example.com沒有。我運行了四臺服務器,在不同的全球位置稱其爲A,B,C & D,其中兩個在美國,一個在歐洲,一個在亞洲。我嘗試訪問的網址是美國的另一臺服務器。在發佈這個問題並審查了我探討的各種意見之後,我發現我的file_get_contents調用從亞洲服務器失敗只有。 TraceRoute透露,亞洲服務器根本無法找到我想要的那個。正如有人在這裏所說 - 這是一個網絡問題。我發佈了這個答案,所以任何運行到這個線程中尋求類似問題解決方案的人都會意識到,這可能是問題而不是PHP配置。

1

有幾種可能性,但如果您只是嘗試從運行代碼的服務器的命令行嘗試輸入的HTTP URL,那麼您將能夠找出更多原因。

curl -v https://url 

常見的問題是,在url https的證書是無效的,或者說傳出HTTPS連接被阻擋在服務器上。

+0

感謝您的提示。我試過了。 curl報告:「即將...」,然後嘗試* IP地址*掛起一段時間,然後報告「無法連接到該主機」,捲曲:(7)。沒有問題的網址沒有SSL和端口443打開 - 我知道它的確如此。 – DroidOS

+0

我應該提到,我正在運行Ubuntu的UFW,它已經被配置爲只允許少量傳入端口。但是,我在* ufw狀態詳細*看到的默認值顯式默認:拒絕(傳入)允許(傳出),所以出去443不是問題。 – DroidOS

相關問題