我有Yii 1.1和一個帶有視圖的窗口小部件,我在這裏調用了file_get_contents
php函數的外部地址(https從https)。我打電話給https://api.ipinfodb.com/v3/ip-city/...
- 他們提供IP地址的座標。它與503錯誤失敗:file_get_contents在Yii窗口部件的視圖中不工作
failed to open stream: HTTP request failed! HTTP/1.1 503 Service Temporarily Unavailable
但它在靜態視圖頁面上完美工作。 它也適用於我的開發人員機器。 我在我的php.ini服務器上有allow_url_fopen = On
。
什麼可能是錯的?
沒有足夠的信息在這裏解決。我的預感是你需要設置一個用戶代理字符串,默認情況下它是'file_get_contents'。出於這個原因,我看到了很多API的拒絕請求。但是,503是錯誤的響應代碼發送,所以API提供程序似乎不符合該情況。但是,這可能是因爲他們也無效地發送了一個200無效的API密鑰錯誤 - 應該是401 –
好吧,我只是用'stream_context_create'在頭選項中設置了用戶代理字符串,但沒有任何更改。正如我所說,當我從靜態php頁面調用該API時,一切都很好。標題與我在widget的視圖中做的一樣。你需要什麼樣的信息?另外,你可以在這裏創建你自己的api密鑰:http://ipinfodb.com/register.php –