Ich habe ein Skript geschrieben, das alle Dateien in einem Verzeichnis durchsucht und MD5-Hash für jede Datei zurückgibt. Es macht jedoch nichts für eine ziemlich große Datei. Ich nehme an, dass der Interpreter einen Wert für die maximale Verarbeitungszeit hat, und da es zu lange dauert, um diesen Wert zu erhalten, springt er einfach zu anderen Dateien. Gibt es trotzdem eine MD5-Prüfsumme für große Dateien über PHP? Wenn nicht, könnte es durch einen Chron-Job mit cpanel getan werden? Ich habe es dort versucht, aber es scheint nicht, dass mein Befehl md5sum jemals verarbeitet wurde: Ich bekomme nie eine E-Mail mit dem Hash. Hier ist das PHP, das ich bereits geschrieben habe. Es ist ein sehr einfacher Code und arbeitet Datei für Dateien einer angemessenen Größe:
%Vor%Obwohl ich es mit PHP 5.2 oder 5.3 mit einer 2GB-Datei nicht reproduzieren konnte, scheint das Problem bei 32-Bit-PHP-Builds aufzutauchen.
Auch wenn es keine wirklich nette Lösung ist, könntest du versuchen, das System an die Beherrschung zu lassen
%Vor%46d6a7bcbcf7ae0501da341cb3bae27c test.txt
Wenn Sie ein Ausführungszeitlimit oder eine maximale Ausführungszeit erreichen, sollte PHP eine entsprechende Fehlermeldung ausgeben. Überprüfen Sie Ihre Fehlerprotokolle. Wenn Sie ein Limit erreichen, können Sie die maximalen Werte für die PHP-Speicherauslastung und Ausführungszeit in Ihrer php.ini-Datei festlegen:
%Vor%setzt die maximale Speicherbelegung auf 16 MB. Für maximale Ausführungszeit:
%Vor%setzt die maximale Ausführungszeit auf 30 Sekunden.