Modifica la dimensione massima del caricamento php.
Sai dove si trova il tuo file php.ini?
Prima di tutto, prova a inserire questo file nella tua radice web:
phpinfo.php
( vedi http://php.net/manual/en/function.phpinfo.php )
contenente:
<?php
phpinfo();
?>
Quindi vai a http://www.yoursite.com/phpinfo.php
Cerca "php.ini".
Per caricare file di grandi dimensioni hai bisogno di max_execution_time, post_max_size, upload_max_filesize
Inoltre, sai dove si trova il tuo file error.log? Si spera che ti dia un indizio su cosa sta andando storto.
MODIFICA:
Ecco la query che utilizzo per l'importazione del file:
$query = "LOAD DATA LOCAL INFILE '$file_name' INTO TABLE `$table_name` FIELDS TERMINATED BY ',' OPTIONALLY
ENCLOSED BY '\"' LINES TERMINATED BY '$nl'";
Dove $file_name è il nome del file temporaneo dalla variabile globale php $_FILES, $table_name è la tabella già preparata per l'importazione e $nl è una variabile per le terminazioni di riga csv (impostazione predefinita per le terminazioni di riga di Windows ma ho un'opzione per selezionare la riga di linux finali).
L'altra cosa è che la tabella ($table_name) nel mio script viene preparata in anticipo scansionando prima il csv per determinare i tipi di colonna. Dopo aver determinato i tipi di colonna appropriati, crea la tabella MySQL per ricevere i dati.
Ti suggerisco di provare prima a creare la definizione della tabella MySQL, in modo che corrisponda a ciò che c'è nel file (tipi di dati, lunghezze dei caratteri, ecc.). Quindi prova la query sopra e guarda quanto velocemente funziona. Non so quanto sia importante la definizione della tabella MySQL sulla velocità.
Inoltre, non ho indici definiti nella tabella fino a DOPO il caricamento dei dati. Gli indici rallentano il caricamento dei dati.