0

PHPスクリプトから「呼び出す」必要のあるURLがあります。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('me@gmail.com', 'cURL', "Did a cURL");

?>

これにより$notify_url変数が出力され、出力された値を取得してブラウザウィンドウに入力すると、目的の結果、つまり電話への電話が得られます。

私はCURLをサポートしていると主張する2つのウェブホストでこれを試しました。1つは有料(crazydomains.com.ayu-サポートのために電話を切ったばかり)で、もう1つは000webhost.comです。

私は何か間違ったことをしていますか?これはとても単純なはずなので、ちょっと混乱します。

編集:私は期待通りにメールを受け取ります。

編集2:私がこれをデバッグする方法について何かアイデアがあれば、私はそれをいただければ幸いです。

編集3:Juhanaが提案したようにecho curl_error();、curl_execの後に追加したところ、このエラーが発生しました...

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ので、それが問題のようです。

問題は、ブラウザから簡単にアクセスできるホストに接続できないのはなぜですか。それを探すことができる場所はどこにあるのでしょうか。

4

1 に答える 1

4

ホストでHTTPラッパーが有効になっていて、allow_url_fopenconfigオプションが有効になっている場合、特にこのような単純な要求の場合、cURLは必要ありません。

あなたがする必要があるのはあなたが簡単に行うことができるURLを開くことだけのようですfopen()

$oid = $_GET["oid"];
$notify_url = "http://mydomain.com/somepath/".$oid;
$fh = fopen( $notify_url, 'r');
fclose( $fh);
于 2012-07-03T15:01:26.753 に答える