Upload PHP - POST (limit velikosti)

Upload PHP - POST (limit velikosti)
« kdy: 12. 08. 2016, 12:23:03 »
Zdravím, potřebuju nastavit PHP/Apache tak, aby bylo možné nahrávat soubory přes POST.

U malých souborů to jde, ale od nějakých desítek nebo stovek kB začne server vrace nespecifikovanou chybu.

upload_max_filesize a post_max_size mám nastavené na mnohem větší čísla. Nemáte někdo nějaký tip, co by mi mohlo chybět ?

Díky moc


Testuji na

<!DOCTYPE html>
<html>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>

Zpracování viz example zde: http://www.w3schools.com/php/php_file_upload.asp


ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Re:Upload PHP - POST (limit velikosti)
« Odpověď #1 kdy: 12. 08. 2016, 12:40:30 »
Zdravím, potřebuju nastavit PHP/Apache tak, aby bylo možné nahrávat soubory přes POST.

U malých souborů to jde, ale od nějakých desítek nebo stovek kB začne server vrace nespecifikovanou chybu.

upload_max_filesize a post_max_size mám nastavené na mnohem větší čísla. Nemáte někdo nějaký tip, co by mi mohlo chybět ?

Díky moc

Ověřte, že výše uvedené proměnné jsou opravdu nastaveny. Třeba z výpisu phpinfo(). Nejspíše zjistíte, že nastaveny nejsou. A pokud by se ukázalo, že jsou, ověřte, že na DOČASNÉM místě, kde php ukládají soubor během přenosu, je dostatek místa. Typicky problém bývá např. /tmp mountnutý jako tmpfs do RAM.

Re:Upload PHP - POST (limit velikosti)
« Odpověď #2 kdy: 12. 08. 2016, 13:27:33 »
Ověřil jsem, co píšete, ale nezdá se mi, že tady by bylo něco špatně ...  tmp je v root FS, práva jsem také zkontroloval a proměnné jsou nastaveny na 40M a 41M
......
Paměť pro PHP je nastavena na uplný nesmysl 1280M, max execution time nastavenej na 15 minut .... , nevím, co ještě zkusit ....

ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Re:Upload PHP - POST (limit velikosti)
« Odpověď #3 kdy: 12. 08. 2016, 15:24:52 »
Ověřil jsem, co píšete, ale nezdá se mi, že tady by bylo něco špatně ...  tmp je v rOdeslatoot FS, práva jsem také zkontroloval a proměnné jsou nastaveny na 40M a 41M
......
Paměť pro PHP je nastavena na uplný nesmysl 1280M, max execution time nastavenej na 15 minut .... , nevím, co ještě zkusit ....

A PHP má kde ten dočasný adresář? Nemusí ho mít v /tmp.

Petr

Re:Upload PHP - POST (limit velikosti)
« Odpověď #4 kdy: 12. 08. 2016, 20:51:49 »
Jiným protokolem stejnou cestou upload funguje? Kdysi jsem něco podobného řešil a problém byl někde na úrovni tcp: kombinace mtu, windows_size, rychlé a pomalé switche po cestě a velký balík dat najednou. Není v tcpdumpu vidět něco podezřelého?


Re:Upload PHP - POST (limit velikosti)
« Odpověď #5 kdy: 12. 08. 2016, 21:20:25 »
Petr: děkuju za tip - zkusím se podívat a hlavně zkusit odjinud, nejsem ale ani síťař ani admin, takže zatim s timhle nástrojem neumim - ne, že bych byl uplně mimo, už jsem debugoval driver na switch, co byl na desce na zařízení, co jsme vyvíjeli, ale i tak jsou mé znalosti tcp omezené - tohle bylo spíš na mac a phy vrstvě ;-)

ByCzech: je to nějaký temp, co vytvořil ispconfig - na správu web-serveru - přesnou cestu teď nemám před sebou, ale takovejhle nástroj to snad nastaví správně, doufám. Nicméně, když jsem to kontroloval na filesystému, zdál se mi v pořádku.

Ještě tada zkusim otestovat, jestli mi to projde s GET, ale aplikace používá POST, takže to musím rozběhat ... Navíc nevím, jestli se přes GET vůbec dá takovýhle množství dat protlacit ....

ByCzech

  • *****
  • 1 861
    • Zobrazit profil
    • E-mail
Re:Upload PHP - POST (limit velikosti)
« Odpověď #6 kdy: 12. 08. 2016, 22:01:20 »
Já jsem tak rád, že už v PHP nemusím nic vytvářet :-D

Re:Upload PHP - POST (limit velikosti)
« Odpověď #7 kdy: 12. 08. 2016, 22:09:29 »
Nemáte to omezené už na Apachi, přes LimitRequestBody?

075

Re:Upload PHP - POST (limit velikosti)
« Odpověď #8 kdy: 12. 08. 2016, 22:19:31 »
A co si takle na tom phpcku zapnout debug, aby to hazelo vsechny errory a warningy?