Portál AbcLinuxu, 5. května 2025 13:15
EnableSendfile
podle mě neřeší tvůj problém. Pokud je zapnuté, bude Apache předávat soubory pomocí syscallu sendfile místo read/write. V dotazu píšeš, že potřebuješ obejít PHP limity, tedy ten požadavek zpracovává PHP a ne přímo apache a EnableSendfile
neudělá nic.
Modul xsendfile umožní PHP předat hlavičku do Apache, ten pak pošle data přímo a obejde PHP. To EnableSendfileneumí. Ale ověř si to, Apache už delší dobu nepoužívám.
@ob_end_flush(); flush(); $fileDescriptor = fopen($file, 'rb'); while ($chunk = fread($fileDescriptor, 8192)) { echo $chunk; @ob_end_flush(); flush(); } fclose($fileDescriptor); exit;pripadne,
$context = stream_context_create(); $file = fopen($url, 'rb', FALSE, $context); while(!feof($file)) { echo stream_get_contents($file, 4096); }
XSendFile on
. V loghu Apache žádná chyba není, prostě normální download, jen ten stažený soubor prázdný a má nulovou velikost.
podle me ta konfigurace je slozitejsiNení. Maximálně v případě, že požadované soubory jsou někde mimo ten web
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.