2012-07-05 60 views
1

我無法在我的php代碼中設置發佈參數。我有下面的代碼行:curl_setopt with CURL_POSTFIELDS參數返回false

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "a=b"); 

在我的本地機器上,調用curl_setopt上述作品,並返回true。然而,在我的服務器上,它返回false。我能想到的兩者之間唯一的區別是,在我的本地機器上,我有php 5.3.8和服務器有5.3.10。

關於爲什麼會發生這種情況或我可以採取什麼措施來解決這個問題?提前致謝。

附加信息: 上面的那些代碼行實際上是我試圖調試正在查看的捲曲問題並將問題範圍縮小到失敗的結果。我遇到的問題實際上是Twilio api。在我的代碼我呼籲:

$twilioClient = new Services_Twilio($twilioAccountSid, $twilioAccountToken); 
$message = $twilioClient->account->sms_messages->create($fromNumber, $toNumber, $body); 

和呼叫通過函數調用拋出exception.Tracing帶我到Services_Twilio_TinyHttp->()函數調用。第62行(curl_setopt_array)返回false事件,雖然它在本地工作。該代碼可以在這裏https://github.com/twilio/twilio-php/blob/master/Services/Twilio/TinyHttp.php

+0

請你從'curl_init添加您的整個代碼()''到curl_exec()',或者至少是它的本質是什麼? – 2012-07-05 20:07:15

+0

當然 - 失敗的代碼實際上是Twilio API中的一個調用。我會爲該問題添加更多信息。 – user1018928 2012-07-05 21:12:15

+0

你怎麼能確定它是'curr_setopt_array()'失敗的'CURLOPT_POSTFIELDS'? – 2012-07-05 22:22:06

回答

1

發現它看起來像你缺少這樣的代碼:

curl_setopt($ch, CURLOPT_POST, TRUE); 

設置CURLOPT_POST爲TRUE的定義是:真做一個普通的HTTP POST。此POST是普通的應用程序/ x-www-form-urlencoded類型,最常用的是HTML表單。

你可以閱讀所有有關各種curl_setopt選擇這裏:http://php.net/manual/en/function.curl-setopt.php

+0

真的 - 我在我的代碼中設置了它,但是我在這裏將它剪掉,希望能夠隔離到底是什麼在我的本地工作機器vs服務器上的失敗。也許我應該添加所有的代碼,它只是有一堆選項設置(和suceeding),我希望這會縮小這個問題。 (還是)感謝你的建議。 – user1018928 2012-07-05 21:07:37