file_get_contents(‚php://input‘) nevrací data pro dotaz > 16kB
Webhostingový server nevrací data z php://input v případě, že tělo ke větší než 16kB
Proměnná $_SERVER[„CONTENT_LENGTH“] přitom vrací správnou velikost
Testováno s verzemi PHP 7.3 i 7.4, problém podle mne ale nebude s php, spíš odhaduji nastavení http serveru/balanceru apod.
Dle informací kolegy se problém vyskytl před cca měsícem (obdobná funkce je využívána jedním wordpress pluginem, který do té doby fungoval bez problému)
testovací kód: (http://test.marunaservis.cz/pit.php)
$inputJSON = file_get_contents('php://input'); echo "Date: ".date("Y-m-d H:i:s").PHP_EOL; echo "Server content length: ". $_SERVER["CONTENT_LENGTH"].PHP_EOL; echo "php://input length: ". strlen($inputJSON).PHP_EOL;
Výstup:
data < 16kB
data > 16kB
Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
JŠ255861 Vybral nejlepší odpověď 26. 11. 2021
1 Odpověď
Dobrý den,
omlouvám se za pozdní reakci, technik prozatím neměl prostor toto ověřit. Máte k dispozici celý Váš kód? Nedaří se mi tento problém nasimulovat.
Role: Podpora Web: https://stackoverflow.com/ Vizitka: Roses are Red, Violets are Blue Unexpected '{' on line 32.
JŠ255861 Vybral nejlepší odpověď 26. 11. 2021