我的VPS服務器出現以下問題。運行併發PHP腳本
我有一個長時間運行的PHP腳本,它將大文件發送到瀏覽器。它確實是這樣的:
<?php
header("Content-type: application/octet-stream");
readfile("really-big-file.zip");
exit();
?>
這基本上讀取服務器的文件系統中的文件,並將其發送給瀏覽器。我不能只使用直接鏈接(並讓Apache服務於該文件),因爲應用程序中存在需要應用的業務邏輯。
問題是,雖然此類下載正在運行,但該站點不響應其他請求。
不是說這是問題,但是當服務大文件時,您應該始終調用'set_time_limit(0);'。它目前對你來說應該沒有什麼區別,但是如果你在某些時候將它移到* Windows平臺,可能會遇到潛在的問題。 – DaveRandom 2012-01-17 11:47:23
你是如何發現這個問題的?你是通過從同一臺機器發出多個請求來測試它嗎?你在使用會話嗎? – DaveRandom 2012-01-17 11:53:48
@DaveRandom當我嘗試下載多個文件時(他們被排隊等待下載),我注意到了這個問題。我正在使用會話 - 只是試過了,看起來這個限制不會影響其他會話。感謝您的想法 - 我現在進一步調查。 – 2012-01-17 12:07:07