Hallo,
ich arbeite derzeit an einem Projekt für unsere Schulbücherei. Leider gibt es da ein Problem.
Am besten ich beschreibe erstmal das komplette Projekt:
1. Ein auf Visual Basic basierendes Programm konvertiert eine Access-Datenbank in XML.
2. Das XML-File wird per FTP auf den Webserver geladen
3. Der Webserver soll alle XML-Einträge mit der MySQL-Datenbank abgleichen.
Das funktioniert auch alles so weit
Mein Problem ist jetzt, dass die XML-Datei 159.914 Zeilen hat. Tendenz steigend. (Das sind ca. 5,6 MB)
Wenn ich diese Datei jetzt einfach so verarbeiten lasse, erhalte ich (natürlich) die Meldung, dass das Memory_Limit überschritten wurde. Also habe ich ne php.ini ins Directory gelegt memory_limit = 30M und max_execution_time = -1
Daraufhin läd die Seite ca. 30sekunden und zeigt mir dann einen Internal Server Error an.
Meine Fragen:
1. Woran könnte das liegen (ich habe anscheinend keinen Zugriff auf den Errror-Log, Error_reporting ist ausreichend gesetzte -> Trozdem nur der 500er.)?
2. Sollten noch andere Einträge an der php.ini geändert werden, sodass es funktionieren könne
3. (FALLS NICHT Wie lasse ich php die Datei am schlausten zerlegen, sodass immer nur so viel von der XML-Datei geparst wird, wie der Server aushält.
(Anmerkung: Ich habe den gleichen Vorgang zum Test mit einer XML-Datei mit ca. 100 Zeilen ausprobiert: Kein Problem)
Danke im Vorraus
Regards,
Fabian Golle
Micronax Systems
ich arbeite derzeit an einem Projekt für unsere Schulbücherei. Leider gibt es da ein Problem.
Am besten ich beschreibe erstmal das komplette Projekt:
1. Ein auf Visual Basic basierendes Programm konvertiert eine Access-Datenbank in XML.
2. Das XML-File wird per FTP auf den Webserver geladen
3. Der Webserver soll alle XML-Einträge mit der MySQL-Datenbank abgleichen.
Das funktioniert auch alles so weit
Mein Problem ist jetzt, dass die XML-Datei 159.914 Zeilen hat. Tendenz steigend. (Das sind ca. 5,6 MB)
Wenn ich diese Datei jetzt einfach so verarbeiten lasse, erhalte ich (natürlich) die Meldung, dass das Memory_Limit überschritten wurde. Also habe ich ne php.ini ins Directory gelegt memory_limit = 30M und max_execution_time = -1
Daraufhin läd die Seite ca. 30sekunden und zeigt mir dann einen Internal Server Error an.
Meine Fragen:
1. Woran könnte das liegen (ich habe anscheinend keinen Zugriff auf den Errror-Log, Error_reporting ist ausreichend gesetzte -> Trozdem nur der 500er.)?
2. Sollten noch andere Einträge an der php.ini geändert werden, sodass es funktionieren könne
3. (FALLS NICHT Wie lasse ich php die Datei am schlausten zerlegen, sodass immer nur so viel von der XML-Datei geparst wird, wie der Server aushält.
(Anmerkung: Ich habe den gleichen Vorgang zum Test mit einer XML-Datei mit ca. 100 Zeilen ausprobiert: Kein Problem)
Danke im Vorraus
Regards,
Fabian Golle
Micronax Systems
Kommentar