PHP X-Accel-yönlendir (Nginx) / X-SendFile (Apache) desteği algılamak nasıl?

0 Cevap php

About Application

PHP bir e-ticaret uygulaması üzerinde çalışıyorum. URL güvenli tutmak için, ürün indirme bağlantıları PHP arkasında tutulur. Bir dosya var, GET yoluyla birkaç parametre kabul eder ve bir veritabanına karşı onları doğrulayan, download.php söylüyorlar. Her şey iyi giderse, PHP readfile () fonksiyonunu kullanarak dosya vermektedir.

About Problem

Now problem comes when file to be passed to readfile() is larger than memory limit set in php.ini As this application will be used by many users on shared-hosting we cannot relay on altering php.ini settings.

Geçici çözümler bulmak için çaba, ilk biz (döngü iken) çağırır ama burada vurgulandığı gibi o da sorunları empoze edecek gibi görünüyor fread için gidebilirsiniz düşünce Sending large files reliably in PHP

So my best option is to detect/check if server supports X-Accel-Redirect (in case of Nginx) / X-Sendfile (in case of Apache)

Sunucu X-Hızlanma-Redirect / X-SendFile destekler, ben onları kullanabilir ve başka blokta ben php.ini tarafından uygulanan bellek sınırı hakkında sistem yönetici farkında yapabilirsiniz

İdeal olarak, mümkün olan her yerde X-Hızlanma-Redirect / X-SendFile gibi sunucu tarafı desteği kullanmak istiyorsanız ve bu işe yaramazsa - I) (readfile olmadan dosyalarını okumak için bir geri dönüş kodu istiyorum.

Ben döngü farklı ise ne kadar readfile () ve fread () gibi henüz emin değilim ama Sending large files reliably in PHP önerildiği gibi döngü, yine sorun yaratacaktır olurken görünüyor

Biraz yardım, öneri, kodları, rehberlik almak istiyoruz.

Okuduğunuz için teşekkürler.

0 Cevap