2010-07-01 62 views
0

快速問題:我有一個PHP腳本,它通過cURL查詢來查詢Pinnacle Cart API。在我的筆記本電腦上測試時,沒問題。我得到了XML響應和所有。但一旦它在遠程服務器上......我沒有結果。事先檢查確認cURL已安裝在遠程服務器上,並且確實如此。我沒有與遠程服務器相同的版本(libcurl/7.15.5 vs libcurl/7.19.5),但我懷疑這是問題。任何想法可能會拋棄我的腳本?來自本地的PHP cURL問題

編輯:這是我所得到的,當我輸出的錯誤,使文件和CURLOPT_STDERR:

本地:

  • 成功設置證書驗證地點:
  • 憑證檔案錯誤:沒有 CApath:/等/ SSL /證書
  • SSL連接使用DHE-RSA-AES256-SHA

服務器端:

  • 成功設置證書驗證地點:
  • 憑證檔案錯誤:/etc/pki/tls/certs/ca-bundle.crt CApath:無
  • SSL證書問題,驗證CA證書是好的。詳細信息:錯誤:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:證書驗證失敗後谷歌搜索

1分鐘......我發現,這個參數: curl_setopt($ CH,CURLOPT_SSL_VERIFYPEER,FALSE); 我的腳本在服務器上工作...但它有點麻煩,不是嗎?

回答

1

查看您的PHP錯誤日誌或打開PHP的錯誤重新生成功能,以便它提供確切的錯誤消息。大多數情況下,PHP的safe_mode在您的服務器上打開,並阻止curl庫的某些功能(例如CURLOPT_FOLLOWLOCATION)。

+0

沿着相同的行,啓用CURLOPT_VERBOSE選項(可能指向CURLOPT_STDERR到_VERBOSE輸出到的文件)。 – 2010-07-01 18:34:32

+0

是的,這是另一個問題,即使我使用error_reporting(-1),我仍然沒有看到任何錯誤......但是這對Frank的方法可能沒有必要。另外,我查了一下,並且php_ini中的safe_mod已關閉(但我猜這個值可能會在其他地方被修改) – Afrosimon 2010-07-01 18:49:05