Portál AbcLinuxu, 1. listopadu 2025 04:38
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.