2011-10-11 63 views
0

我正在尋找任何幫助,調試什麼可能會阻止我的PHP代碼運行時,我捲曲頁面包含腳本。CURL問題。 PHP腳本沒有在通話中運行

我正在從一個PHP腳本這個調用:

$ch = curl_init($this->curl_address . $querystring); 
$response = curl_exec($ch); 
curl_close($ch); 

給該腳本:(腳本實際上做的東西,但它沒有運行,所以我把它弄壞了下來,這樣我會有證據表明,它不運行,這是目前在那裏,並沒有在日誌中沒有輸出)

error_log("got here"); 

在我的測試服務器(在Mac),該CURL'd腳本運行(我得到的輸出在日誌中),但在我的生產服務器上失敗。在這兩種情況下,服務器上的一個腳本調用另一個腳本

生產服務器是Linux VPS運行(我相信)CentOS。

我不知道我應該在生產服務器上尋找什麼問題。任何幫助表示讚賞。

謝謝。

+1

你有捲曲安裝在你的服務器上嗎? –

回答

0

我打算在週末時更新這個問題,當我終於找出問題所在。生產服務器通過HTTPS提供服務,而測試服務器則不是。我遇到的問題是因爲服務器沒有通過cURL進行身份驗證。

+0

所以你挑出我的答案,因爲你發現了一些與答案無關的東西?我對你提出的問題給出了正確的答案,現在你改變了它。然後降低你的問題。 – 2011-11-26 20:59:01

1

在服務器託管的腳本中,使用function_exists('curl_init');來檢查是否安裝了cURL。如果函數存在,此函數將返回布爾型true,否則返回false

如果返回false,則必須在服務器中安裝cURL

如果您想了解有關PHP設置的詳細信息,還可以使用phpinfo();調用。

+0

嗨馬里奧, 好吧,我運行了function_exists('curl_init'),並且我得到了真正的返回。我檢出了phpinfo,並且捲曲細節與我的測試服務器相比非常苗條。它僅列出兩行: 捲曲支持\t啓用 捲曲信息\t的libcurl/7.21.4的OpenSSL/0.9.8b zlib的/的libidn 1.2.3/0.6.5 捲曲響應仍然返回false,且誤差未記錄。 有什麼想法? – dirknibleck

+0

最有可能的是,cURL當時正在失敗。嘗試做一個'var_dump(curl_init());'併發布它的結果。 如果結果類似於「資源#x」,那麼cURL應該工作正常,問題在其他地方。 – 2011-10-24 16:43:07