私は、関連する実行時間の制限がないフォルダ(このディレクトリから1時間のスクリプトを定期的に実行する)にファイルがあるフォルダにスクリプトを持っています。このファイルは、codeingiterビューのHTMLフォームから呼び出され、csvファイルをアップロードし、読み取って、そこに含まれる情報でデータベースエントリを更新します。PHP実行中に404が投げられる(約45秒後)
私は小さいcsvファイル(1〜1000エントリ)を持っていればうまくいきます。それ以上のものは、(画面にデバッグテキストをエコーすることを含めて)約1000項目を処理し、その後、404エラーを投げます。
投稿ページをajax呼び出しにすることでエラーを回避しようとしていますが、まったく同じことです。
「NetworkError:404は見つかりません - XXXX/XXXX/xxxxx.php」
私は、データベース内の変更を確認し、上echo'dデバッグコードを見てスクリプトが前404に実行されていることを確認しています画面。
それは404 ... (要するに、CSVファイルから)値(第2の列を有するようにID(最初の列)を更新をスローしたときに実行されるコード。
if(file_exists($targetdir))
{
$file = fopen($targetdir, 'r');
$count = 0;
while(!feof($file))
{
$x = (fgetcsv($file));
if(is_numeric($x[1]) && $x[1] > 9999 && $x[0] != '-')
{
$count++;
// echo "UPDATE xxxx SET xxxxx ='".$x[0]."' WHERE id=".$x[1];
$db->query("UPDATE xxxx SET xxxxx ='".$x[0]."' WHERE id=".$x[1]);
//echo $x[1].' - '.$x[0]."<br/>";
}
}
fclose($file);
}
編集 それグーグルがエラーを投げているように見えますか?私は周りを見つめて、人々がサーバー設定だと言っているのを見ました(しかし、サーバーの設定ではないので、最大実行時間を300秒に設定して同じ結果を得ます)。
xxxxx.php 404 xhr jquery-1.12.4.min.js:4 1.6 KB 40.07
Image of 404 rendering after text is echo'd
私はそれがPHPコードだとは思わない。サーバーの設定を確認する必要があります。あなたが明示的に指示しない限り、PHPスクリプトは404を無作為に破棄しません。サーバが実行時間の制限を超えて終了する可能性がありますが、なぜそれが404として表示されるのかはわかりません。 –
これが起こったときにThe Twilight Zoneのテーマが聞こえますか?サーバーが誤って構成されている可能性があります.408を送信する必要がある場合は404が表示されます。 –
私は今それを検討していますが、実行する他のスクリプトと比較して短い時間で408を投げますか?私は問題なしで約1時間実行するいくつかのスクリプトと比較して1分で話しています... ありがとう! –