2013-11-01 17 views
0

似乎陷入困境。據我所知,PHP或Apache並沒有改變,但是一個已經運行了近6個月的代碼在今天下午2點才停止工作。Curl停止工作,未對Apache或PHP進行更改

的代碼是:

function ls_record($prospectid,$campid){ 
      $api_post = "method=NewProspect&prospect_id=".$prospectid."&campaign_id=".$campid; 

      $ch = curl_init(); 

      curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE); 
      curl_setopt($ch, CURLOPT_HEADER, FALSE); 
      curl_setopt($ch, CURLOPT_POST, TRUE); 
      curl_setopt($ch, CURLOPT_POSTFIELDS, $api_post); 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
      curl_setopt($ch, CURLOPT_URL, "http://XXXXX/XXXXXX/store.php"); 
      $x = print_r(curl_exec($ch), TRUE); 
      return $x; 
    } 

它返回NULL, I tried using file_get_contents()函數which also returns NULL`。我檢查Apache的錯誤日誌,什麼都看不到......我需要一些幫助。

回答

0

你有權訪問服務器的命令行嗎?這可能是目的地以某種方式阻止了你。

如果有命令行訪問,請嘗試以下

wget http://XXXXX/XXXXXX/store.php 

這至少應該回報的東西(如果不是頭)

+0

在這種情況下,捲曲的文件本身就是其本身。如果我從瀏覽器訪問網址,則預期的功能將按預期運行。 –

0

使用curl_getinfo檢查您的捲曲的執行狀態,這也許是服務器你嘗試從需要curl的用戶代理中提取內容,某些站點檢查用戶代理以阻止不必要的curl訪問。

下面是我用來將我的curl僞裝成桌面瀏覽器的用戶代理。

curl_setopt($ch,CURLOPT_USERAGENT,' Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36'); 
0

由於互聯網速度很低,我在我的服務器上遇到同樣的問題。互聯網速度下降一段時間,curl需要很多時間才能執行,所以它會返回超時錯誤。幾分鐘後,它工作正常,服務器上沒有任何改變。