更新: 此問題是由服務器請求在腳本完成之前超時引起的。*我在共享 LAMP 主機 (nearlyfreespeech.net) 上運行遺留代碼,并且最近添加了一個無法在生產中工作的新腳本。我的 apache 錯誤日志顯示消息End of script output before headers: switch.php,并且在嘗試使用 Web 客戶端觸發腳本時收到 500 個狀態。根據其他 StackOverflow 帖子,此錯誤消息通常是由于文件權限錯誤造成的。但是,新腳本的文件權限與所有其他腳本相同。以下是相關文件權限:-rw-rw-r-- 1 235430 235430 1655 Jul 6 18:05 switch.phpdrwxrwxr-x 2 235430 235430 18 Jul 1 21:05 auth/-rw-rw-r-- 1 235430 235430 13 Aug 24 2015 auth/.htaccess-rw-rw-r-- 1 235430 235430 280 Jul 1 21:05 auth/cloudsaves.2.php-rw-rw-r-- 1 235430 235430 880 Aug 28 2015 auth/cloudsaves.php-rw-r--r-- 1 235430 web 15580 Jul 1 21:05 auth/rumpus_migration.php有了這些include()層次結構:switch.php -> auth/cloudsaves.php(作品)switch.php -> auth/cloudsaves.2.php <- auth/rumpus_migration.php(不起作用)所有請求均針對switch.phpauth/cloudsaves.php并包含導致包含或 的參數值auth/cloudsaves.2.php。在我本地的測試環境中一切正常。switch.php在生產中,當我使用導致包含腳本的參數時,cloudsaves.2.php我收到錯誤。我嘗試更改組和權限,rumpus_migration.php并cloudsaves.2.php使其與父腳本正確包含的其他文件完全匹配switch.php,但始終得到相同的結果。這個新腳本 ( cloudsaves.2.php) 是switch.php該腳本本身包含的唯一腳本includes。我不熟悉 Apache 或 PHP,并且生產代碼位于共享主機上,我的管理訪問權限極其有限。事實上,代碼在本地工作但不在生產中工作,這使得權限問題似乎是一個可能的罪魁禍首,但我不知道如何繼續前進,因為沒有一個工作權限選項似乎可以解決它。
1 回答

蠱毒傳說
TA貢獻1895條經驗 獲得超3個贊
問題在于,由于長時間運行的數據庫查詢,請求在腳本完成之前超時。
因此,一般End of script output before headers
錯誤可能是由服務器超時和文件權限問題引起的。
- 1 回答
- 0 關注
- 150 瀏覽
添加回答
舉報
0/150
提交
取消