
我正在學習網站主機以及如何建立大型網站(例如學習平台)。
PHP 記憶體限制是伺服器的某些「RAM 記憶體」(例如我電腦的 RAM 記憶體?)還是只是硬碟上的某種可用空間?
答案1
每當客戶端向您的 Web 伺服器發出請求並且 PHP 處理該請求時,它都會產生一個 PHP 進程。
這個 PHP 進程的工作顯然是產生一些 HTML 以傳回給客戶端 - PHP 進程為應該執行此操作的 PHP 腳本提供執行時間。
記憶體限制是該進程可以使用的最大記憶體量。如果超過該值,則該程序將失敗並且 Apache 會報告 HTTP 500 錯誤。
基本上,如果您的 PHP 腳本中存在錯誤,例如無限循環不斷要求越來越多的 RAM,那麼它就是一個可以防止整個伺服器癱瘓的堡壘。
答案2
找到您的 php.ini 檔案並增加定義記憶體限制以滿足您的需求。 php 有意限制了 php 可以使用的 RAM 量,因此駭客無法嘗試耗盡您的所有記憶體並導致伺服器崩潰/鎖定/做其他壞事。
注意:為了保持效能,請勿輸入大於實際記憶體大小約 60% 的值。