PHP Skriptlaufzeit bei Fileupload: internal Server Error

WiZdooM

Erfahrenes Mitglied
Hallo

Meine Firma nen DSL3000 Anschluss. Demzufolge dauert es recht lange große Dateien auf den Strato-Webspace zu transferieren. Da ich beim Datenimport über phpmyadmin immer in einen "Internal Server Error" gestolpert bin, habe ich mir überlegt mir ein eigenes Upload und Insert Skript zu schreiben.
Das funktioniert soweit auch gut - nur bei großen Dateien bricht der Upload, wie auch beim phpmyadmin, nach 5,7MB ab, obwohl ich die Skriptlaufzeit in einer benutzerdefinierten php.ini schon verdoppelt habe. Ich musste sowieso eine Anlegen, da die upload_max_filesize mit 10 meg zu gering war.

Meine Frage ist daher, was ich muss ich tun, um über die DSL3000 Leitung via PHP-Skript eine 10.5 meg txt-Datei ohne "Internal Server Error" hochladen zu können ?
 
Zuletzt bearbeitet:
...obwohl ich die Skriptlaufzeit....max_upload_filesize

War das jetzt nur ein Schreibfehler?
max_upload_filesize bestimmt wie der Name schon sagt nicht die Skriptlaufzeit sondern die maximal Größe der hoch zu ladenden Datei.

Was du brauchst ist max_execution_time.
 
War das jetzt nur ein Schreibfehler?
max_upload_filesize bestimmt wie der Name schon sagt nicht die Skriptlaufzeit sondern die maximal Größe der hoch zu ladenden Datei.

Was du brauchst ist max_execution_time.

Wir sprechen grade an einander vorbei glaube ich, da ich in Bezug auf die benutzerdefinierte php.ini zwei Sachverhalte beschrieben habe:
..., obwohl ich die Skriptlaufzeit in einer benutzerdefinierten php.ini schon verdoppelt habe. Ich musste sowieso eine Anlegen, da die upload_max_filesize mit 10 meg zu gering war.
Mit anderen Worten: max_execution_time ist bereits geändert und es kommt nach 5.6 MB etwa der Internal Server Error.
 
Hallo,

kann es vielleicht sein, das du Sonderzeichen in deiner Textdatei hast die den server zum abbruch bewegen. Am einfachsten kannst du das testen wenn du die txt - Datei gezippt da hochlädst.

Gruß

katosan
 
Hi,

Das ist richtig. die txt-Datei hat im Inhalt deutsche Sonderzeichen Üs Ös und Äs. Aber nicht im Dateinamen. Das mit dem Zip probier ich mal aus. Danke für den Anstoß.

Edit: So ich hab die 10.5 MB txt-Datei gezippt. Die Größe liegt jetzt bei 3.7 MB, womit der Upload zwar klappt (ist ja auch kleiner als 5.6MB), allerdings kann ich die gezippte Datei in der Form in meinem 2. Schritt nicht in die Datenbank spielen. In diesem Fall muss erstnoch ein unzip erfolgen.

PHP:
				move_uploaded_file($_FILES['uploadedfile']['tmp_name'],$target_path);
				if(substr($_FILES['uploadedfile']['name'],-4) == '.zip'){
					$zip = new ZipArchive;
					$res = $zip->open($_FILES['uploadedfile']['name']);
					if($res === true){
						$zip->extractTo(UPLOAD_PATH);
						$zip->close();
						unlink($_FILES['uploadedfile']['name']);
					}
				 }

Edit 2: Witzigerweise funktioniert das entpacken auf dem Stratowebspace nicht richtig. Die Datei wird zu 99% entpackt und der Server crasht mit einem Internal Server Error und es Fehlen 1428,5 von 38984 Datensätzen (~400KB), die in der verpackten Textdatei enthalten sind.

Edit 3: Ich habe eben mit der Strato-Technik telefoniert. Nach Angaben des Technikers ist es _NICHT_ möglich eine Datei die größer als 10 MB ist, über ein PHP-Skript auf den Server hochzuladen, zu entpacken oder irgendwie auf Dateisystemebene zu verarbeiten.
Da kann ich nur eins dazu sagen: EPIC FAIL!
Ein kleiner Trost ist, dass wenigstens der FTP-Upload geht und das ein Einspielen der Daten in die Datenbank via Skript alle Datensätze einfügt.

Thx so far.
 
Zuletzt bearbeitet:
Zurück