Mysql_query bir sürü sonra 500 hata php aramalar

0 Cevap php

Ben satır satır onları ayrıştırma ve bir mysql veritabanına veri ekleme, sekme ayrılmış dosyaları içeren bir klasör aracılığıyla adımları bir php komut dosyası var. Ben çünkü benim sunucuda güvenlik kısıtlamaları YÜK TABLO kullanamazsınız ve yapılandırma dosyalarına erişimi yok. Komut sadece iyi ayrıştırma 1 veya 2 küçük dosyaları çalışıyor ama birkaç büyük dosyalarla çalışırken ben bir 500 hatası alıyorum. Hata ile ilgili mesajlar, benim barındırma sağlayıcı bana erişim sağlar en azından hiçbiri içeren herhangi bir hata günlükleri var gibi görünmüyor. Aşağıda kod ben de yapmam gereken ne yapmanın alternatif yollarını önerileri açık olduğunu. Sonuçta ben bu script yeni veri ekleme ve bittiğinde dosyaları silerek, her 30 dakika kadar kapalı yangın istiyorum.

EDIT: Phil önerilen değişiklikleri yaptıktan sonra, komut hala başarısız ama şimdi benim hata günlüğüne aşağıdaki iletiyi var "mod_fcgid: 120 saniye veri zaman aşımı okumak", komut dosyası, ben değiştirebilirsiniz herhangi bir fikir aşımına uğruyor gibi görünüyor zaman aşımı ayarı?

$folder = opendir($dir);
    while (($file = readdir($folder)) !== false) {
        $filepath = $dir . "/" . $file;

        //If it is a file and ends in txt, parse it and insert the records into the db
        if (is_file($filepath) && substr($filepath, strlen($filepath) - 3) == "txt") {
            uploadDataToDB($filepath, $connection);
        }
    }

function uploadDataToDB($filepath, $connection) {
    ini_set('display_errors', 'On');
    error_reporting(E_ALL);
    ini_set('max_execution_time', 300);

    $insertString = "INSERT INTO dirty_products values(";

    $count = 1;

    $file = @fopen($filepath, "r");

    while (($line = fgets($file)) !== false) {
        $values = "";
        $valueArray = explode("\t", $line);
        foreach ($valueArray as $value) {
            //Escape single quotes
            $value = str_replace("'", "\'", $value);
            if ($values != "")
                $values = $values . ",'" . $value . "'";
            else
                $values = "'" . $value . "'";
        }

        mysql_query($insertString . $values . ")", $connection);
        $count++;
    }

    fclose($file);

    echo "Count: " . $count . "</p>";
}

0 Cevap