1

A.phpメソッドによっていくつかの変数を取得$_POSTし、ローカルデータベースを更新するとしましょう。

という名前の別の php ファイルがdataGather.php正しい形式でデータを収集し、その後、そのファイルを使用してデータをローカル データベースに送信しようとしA.phpます。両方のファイルが同じディレクトリにあることに注意してください。

curl 関数を使用してPOSTリクエストを実行するコードは次のとおりです。

    $url = "A.php";
    $ch = curl_init();
    $curlConfig = array(
        CURLOPT_URL            => $url,
        CURLOPT_POST           => true,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POSTFIELDS     => $datatopost
    );
    curl_setopt_array($ch, $curlConfig);
    $result = curl_exec($ch);
    curl_close($ch);
    echo $result;

$datatopost

次のような配列です。

$datatopost = array (
       "value1" => $val1,
       "value2" => $val2,
        etc
 }

問題は、プログラムを実行すると、次の結果が得られることです。

Fatal error: Maximum execution time of 30 seconds exceeded in 
        C:\xampp\htdocs\dataGather.php on line 97

なぜこれが起こっているのか誰か知っていますか?前もって感謝します

A.phpPS: javascript で必要な情報を収集してテストしたため、ファイルは 100% 正しいです。それは私が望む方法でデータベースに通知します。また、配列$datatopostにはすべての情報が正しい形式で含まれています。

4

1 に答える 1

3

Web サーバーを使用せずに、スクリプトを実行可能ファイルとして起動するだけで、php スクリプトを直接実行していると思われます。これは、エラー メッセージに絶対パスが含まれているという事実から示唆されています。そのような php スクリプトを実行することはまったく問題ありませんが、自問する必要があります: cURL 呼び出しは実際に何を行うのでしょうか? 参照しようとしたphpファイルを開いて実行しません。A.phpなぜだめですか?cURLはファイルではなくURLを開くためです。また、URL 要求に反応できるサーバー (http サーバーなど) を使用しないと、どうなると思いますか?

cURL が http サーバーに接続しようとするため、表示されるエラーはタイムアウトです。有効な URL を指定しなかったため、'localhost' にフォールバックする可能性が高くなります。しかし、そこでリッスンしているサーバーはありません...

于 2012-11-26T00:00:16.200 に答える