2016-08-17 3 views
0

すべてのオプションをtimeoutとset_time_limitで設定しましたが、それは役に立ちません。 40秒後にCURLに500のエラーが発生します。リモートサーバーでは長いプロセスを開始し、待機が必要です。ファイルが小さい場合 - すべてがOK、ファイルが大きい場合 - 40秒後に500エラーが発生します。この私のコード:CURLは40秒後に500エラーを返します

$curl = curl_init("http://example.com/index.php?page=uploads"); 
    curl_setopt($curl, CURLOPT_POST, 1); 
    $datas = array(
     "id" => $id, 
     "video" => $filename->new_file_name, 
     "title" => $_POST["title"], 
     "description" => $_POST["description"], 
     "category" => array($_POST["category"]), 
     "location" => $_POST["location"], 
     "check" => $check, 
     "start" => $start, 
     "duration" => $duration 
    ); 
    $data = json_encode($datas); 

    $fp = fopen(dirname(__FILE__).'/errorlog.txt', 'w'); 
    curl_setopt($curl, CURLOPT_VERBOSE, 1); 
    curl_setopt($curl, CURLOPT_STDERR, $fp); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0); 
    curl_setopt($curl, CURLOPT_TIMEOUT_MS, 900000); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($curl, CURLOPT_NOSIGNAL, 1); 
    curl_setopt($curl, CURLOPT_FRESH_CONNECT, 1); 
    curl_setopt($curl, curl_exec, 0); 
    curl_exec($curl); 
    print_r(curl_getinfo($curl)); 
    curl_close($curl); 
+0

HTTPエラー500が「内部サーバーエラー」を意味するのであなたがエラー、サーバー側でチェックする必要があります。 –

+0

正しいURL(http://example.com/index.php?page=uploads)を使用していますか? – mishanon

+0

はい、正しいURLです。リモートサーバー上のスクリプトが起動します。リモートスクリプトは、curlでコマンドを取得し、POSTを解析し、変換ファイルを開始します。ファイルは変換され、フォルダに保存されます。ログにエラーはありません。スクリプトはリモートサーバーで正常に完了しました。しかし、開始から40秒後にカールすると500エラーが出ます。しかし、CURLはfinishについての成功メッセージを受け取る必要があります。それは断線のようになります。そして、それは常に40秒です... –

答えて

0

HTTP500エラーは、SEVERのサイドエラーがあることを示します。

問題をデバッグできるようにするには、Webサーバー(Apache?)またはアプリケーションサーバー(Php?)のログを確認してください。

HTTP500ステータスは次のように説明しhttp://www.checkupdown.com/status/E500.html

+0

リモートサーバー上のスクリプトが開始されます。リモートスクリプトは、curlでコマンドを取得し、POSTを解析し、変換ファイルを開始します。ファイルは変換され、フォルダに保存されます。ログにエラーはありません。スクリプトはリモートサーバーで正常に完了しました。しかし、開始から40秒後にカールすると500エラーが出ます。しかし、CURLはfinishについての成功メッセージを受け取る必要があります。それは断線のようになります。そして、それは常に40秒... –

関連する問題