Versionen dieses Beitrags

Warum kein XAMPP? Eine Demonstration am Beispiel des konkreten Problems.

ursus contionabundo
  • Warum kein XAMPP? Eine Demonstration am Beispiel des konkreten Problems.
  • Nun ja. Schauen wir mal. Originale Datei mit einer Änderung: Der Dateiname:
  • ~~~php
  • <?php
  • //-----------------------------------------------------
  • // Datei einlesen
  • //-----------------------------------------------------
  • $filename = "test.txt";
  • if ( ! $arr_file = file( $filename ) ) {
  • echo "Fatal: '$filename' konnte nicht gelesen werden.";
  • trigger_error( "'$filename' konnte nicht gelesen werden.", E_USER_ERROR );
  • }
  • //-----------------------------------------------------
  • // Zeilen ausgeben
  • //-----------------------------------------------------
  • foreach ($arr_file AS $zeile) {
  • echo $zeile."<br>";
  • }
  • ~~~
  • memory_limit ist auf 128MB gesetzt:
  • ~~~
  • grep memory_limit /etc/php/7.2/cli/php.ini
  • memory_limit = 128M
  • ~~~
  • Datei ist 24 MB groß:
  • ~~~
  • ls -s -h test.txt
  • 24M test.txt
  • ~~~
  • Run!
  • ~~~
  • php test.php | wc -c
  • 27464320
  • ~~~
  • **Fazit:** Auf Grund des allgemein mehr Speicher fressenden Umgangs von Windows (PHP unter Windows benutzt natürlich die Windows-Libs) wird von PHP unter Unixoiden für die Funktion `file()` weniger Speicher gebraucht, **so dass die selbe Operation, die unter Windows scheiterte, unter Linux störungsfrei durchläuft**.
  • **Fazit:** Auf Grund des allgemein mehr Speicher fressenden Umgangs von Windows (PHP unter Windows benutzt natürlich die Windows-Libs) wird von PHP unter Unixoiden für die Funktion `file()` weniger Speicher gebraucht, **so dass die selbe Operation, die unter Windows am identischen Speicherlimit scheiterte, unter Linux störungsfrei durchläuft**.

Warum kein XAMPP? Eine Demonstration am Beispiel des konkreten Problems.

ursus contionabundo
  • Warum kein XAMPP? Eine Demonstration am Beispiel des konkreten Problems.
  • Nun ja. Schauen wir mal. Originale Datei mit einer Änderung: Der Dateiname:
  • ~~~php
  • <?php
  • //-----------------------------------------------------
  • // Datei einlesen
  • //-----------------------------------------------------
  • $filename = "test.txt";
  • if ( ! $arr_file = file( $filename ) ) {
  • echo "Fatal: '$filename' konnte nicht gelesen werden.";
  • trigger_error( "'$filename' konnte nicht gelesen werden.", E_USER_ERROR );
  • }
  • //-----------------------------------------------------
  • // Zeilen ausgeben
  • //-----------------------------------------------------
  • foreach ($arr_file AS $zeile) {
  • echo $zeile."<br>";
  • }
  • ~~~
  • memory_limit ist auf 128MB gesetzt:
  • ~~~
  • grep memory_limit /etc/php/7.2/cli/php.ini
  • memory_limit = 128M
  • ~~~
  • Datei ist 24 MB groß:
  • ~~~
  • ls -s -h test.txt
  • 24M test.txt
  • ~~~
  • Run!
  • ~~~
  • php test.php | wc -c
  • 27464320
  • ~~~
  • Fazit: Auf Grund des allgemein mehr Speicher fressenden Umgangs von Windows (PHP unter Windows benutzt natürlich die Windows-Libs) wird von PHP unter Unixoiden für die Funktion `file()` weniger Speicher gebraucht, so dass die selbe Operation, die unter Windows scheiterte, unter Linux störungsfrei durchläuft.
  • **Fazit:** Auf Grund des allgemein mehr Speicher fressenden Umgangs von Windows (PHP unter Windows benutzt natürlich die Windows-Libs) wird von PHP unter Unixoiden für die Funktion `file()` weniger Speicher gebraucht, **so dass die selbe Operation, die unter Windows scheiterte, unter Linux störungsfrei durchläuft**.