Nie wiem o tym w 5.3.x, ale w 5.2.x jest kilka int/długich problemów w kodzie PHP. nawet jeśli używasz 64-bitowego systemu i masz wersję PHP skompilowaną z 64-bitową, jest kilka problemów.
Po pierwsze, kod, który konwertuje post_max_size i inne z ascii na liczbę całkowitą, przechowuje wartość w int, więc konwertowanie "9G" i umieszczenie wyniku w tej int spowoduje korekcję wartości, ponieważ 9G jest liczbą większą niż 32 Zmienna -bit może pomieścić.
Ale istnieje również kilka innych obszarów kodu PHP, które są używane z modułem Apache, CGI itp., Które należy zmienić z int na długie.
Więc ... aby to działało, musisz edytować kod PHP i skompilować go ręcznie (upewnij się, że skompilowałeś go jako 64-bitowy). tu jest link do listy dyferencjału:
http://www.archive.org/~tracey/downloads/patches/karmic-64bit-post-large-files.patch
odwoływać się od tej php bug postu: http://bugs.php.net/bug.php?id=44522
Plik powyżej jest diff na kodzie 5.2.10, ale ja po prostu się zmiany ręcznie do wersji 5.2.17 i właśnie wysłałem pojedynczy plik o wadze 3,4 gb za pośrednictwem apache/php (który nie działał przed zmianą).
ope, które pomaga.
HTTP nie jest właściwym wyborem protokołu przesyłania pliku 2 GB. Powinieneś używać tego (S) FTP. –
Czy zweryfikowałeś, że są to zmienne w użyciu? (tj. poprzez 'phpinfo()') PHP nigdy nie przestaje mnie zaskakiwać o tym, który plik konfiguracyjny faktycznie czyta ... (Także, HTTP nie jest tak przeznaczony ...) – Thanatos
Dlaczego chcesz używać PHP do tego zamiast czegoś w rodzaju FTP lub dowolnej liczby lub innych sposobów przesyłania plików – Earlz