2012-07-03 64 views
0

我有一個URL需要從PHP腳本「調用」。 URL使用Tropo的API打電話,所以很容易驗證它是否被調用。由於某種原因,此捲曲命令不起作用

我的PHP是這樣的:

<?php 

$oid=$_GET["oid"]; 
$notify_url = "http://mydomain.com/somepath/".$oid; 
echo $notify_url; 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $notify_url); 
curl_setopt($ch, CURLOPT_HEADER, 0); 

curl_exec($ch); 
curl_close($ch); 

mail('[email protected]', 'cURL', "Did a cURL"); 

?> 

這會打印出$ notify_url變量,當我把打印的值,並將其輸入到瀏覽器窗口,我得到即打電話給期望的結果我的手機。

我已經試過這對聲稱他們支持CURL兩個web主機,一個是支付(crazydomains.com.ayu - 剛剛打完電話支持),另一個是000webhost.com

我做有問題?這是一種令人困惑的事情,因爲它應該非常簡單。

編輯:我收到預期的郵件。編輯2:如果你有任何關於如何調試的想法,我將不勝感激。

編輯3:作爲Juhana建議我以後curl_exec添加echo curl_error();,我得到這個錯誤...

Warning: Wrong parameter count for curl_error() in /home/a5352876/public_html/curl.php on line 15

編輯4:改變了echo curl_error()echo curl_error($ch)和得到的消息couldn't connect to host,這樣似乎是問題。

現在的問題是,爲什麼它不能連接到一個可以通過瀏覽器輕鬆訪問的主機,有沒有我能找到的地方?

+1

你看到印有'notify_url',你得到的電話,電子郵件就會出現,預期。什麼是問題? – Josh

+1

'echo curl_error()'給出了什麼? – JJJ

+1

@Josh如果我手動輸入URL到瀏覽器,我會接到電話,腳本不會給我打電話。即我有正確的URL,但沒有被我的腳本調用。 – Ankur

回答

4

如果您的主機啓用了HTTP包裝程序,並啓用了allow_url_fopen配置選項,那麼您不需要cURL,特別是對於這樣一個簡單的請求。

它看起來像所有你需要做的就是打開一個URL,您可以輕鬆地與fopen()做:

$oid = $_GET["oid"]; 
$notify_url = "http://mydomain.com/somepath/".$oid; 
$fh = fopen($notify_url, 'r'); 
fclose($fh); 
+0

感謝Nick給它一個鏡頭。 – Ankur

+0

@Ankur - 基於你的curl錯誤,它可能無法正常工作,因爲你的主機可能會阻止這種連接。僅僅因爲你可以在瀏覽器中加載它,並不意味着你的服務器能夠訪問它。 – nickb

+0

是的,我懷疑是這樣,事情是這些託管公司都說他們有curl的支持,並做了一個phpInfo()支持這一點。但是這也不起作用,實際上我不得不向fopen()添加另一個參數。我讀了這個,並添加了一個只讀的'r'。但是看起來主持人正在屏蔽這些事情。 – Ankur

相關問題