Ich weiß nicht über in 5.3.x, aber in 5.2.x gibt es einige int/long Probleme im PHP-Code. Selbst wenn Sie auf einem 64-Bit-System arbeiten und eine Version von PHP mit 64-Bit kompiliert haben, gibt es mehrere Probleme.
Zuerst wandelt der Code, der post_max_size und andere von ASCII in Ganzzahl konvertiert, den Wert in ein int, so dass "9G" konvertiert und das Ergebnis in dieses int gesetzt wird, weil 9G eine größere Zahl als 32 ist -Bit Variable kann halten.
Aber es gibt auch einige andere Bereiche von PHP-Code, die mit dem Apache-Modul, CGI, etc. verwendet werden, die von int zu lang geändert werden müssen.
Damit dies funktioniert, müssen Sie den PHP-Code bearbeiten und manuell kompilieren (stellen Sie sicher, dass Sie ihn als 64-Bit kompilieren). Hier ist ein Link zu einer Liste von diffs:
http://www.archive.org/~tracey/downloads/patches/karmic-64bit-post-large-files.patch
von dem PHP Bug Beitrag referenzierte: http://bugs.php.net/bug.php?id=44522
Die Datei oben ist ein diff auf 5.2.10 Code, aber ich habe nur die Änderungen von Hand zu 5.2.17 code und ich habe gerade eine 3.4gb einzelne datei über apache/php hochgeladen (was vor der änderung nicht funktioniert hatte).
das hilft.
HTTP ist wirklich nicht die richtige Wahl des Protokolls zum Hochladen einer 2GB-Datei. Sie sollten (S) FTP dafür verwenden. –
Haben Sie verifiziert, dass diese Variablen verwendet werden? (dh durch 'phpinfo()') PHP hört nie auf, mich zu überraschen, welche Konfigurationsdatei es gerade liest ... (Auch HTTP ist dafür nicht gedacht ...) – Thanatos
Warum wollen Sie PHP dafür verwenden? anstelle von etwas wie FTP oder einer anderen Nummer oder anderen Möglichkeiten zum Hochladen von Dateien – Earlz