デバッグ目的のためだけに、次のコードがあります。
<?php
if ($_FILES['productsFile']) {
ini_set("display_errors","on");
error_reporting(E_ALL);
ini_set('max_input_time ', 600000);
ini_set('memory_limit', '512M');
ini_set('max_execution_time', '180');
ini_set('post_max_size ', "250M");
ini_set('upload_max_filesize ', "250M");
setlocale( LC_ALL, 'en_US.UTF-8' );
$fileName = "ecom_productImport_".time();
move_uploaded_file($_FILES['productsFile']['tmp_name'], "myfoter/".$fileName) upload");
$handle = fopen($fileName, "r");
$start=0;
unset($fileName);
while (($data = fgetcsv($handle, 950000, ",")) !== FALSE) {
// some code that use insert and update queries
}
}
このコードをコマンド ラインで実行すると問題なく実行されますが、Web ページから実行するとエラー 324 (net::ERR_EMPTY_RESPONSE): サーバーがデータを送信せずに接続を閉じました。
ループ内で設定されている変数は設定解除され、SQL クエリは長くかかりません。なぜハングアップし続けるのか、私にはまったくわかりません。
私のウェブサーバーはApache 2で、PHPバージョンは5.3.8です