Warum kein XAMPP? Eine Demonstration am Beispiel des konkreten Problems.
bearbeitet von ursus contionabundoNun 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**.
Warum kein XAMPP? Eine Demonstration am Beispiel des konkreten Problems.
bearbeitet von ursus contionabundoNun 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.