在運行PHP法度,凡是會碰到“Fatal Error: Allowed memory size of xxxxxx bytes exhausted”的錯誤, 這個意味著PHP腳本應(yīng)用了過多的內(nèi)存,并超出了體系對其設(shè)置的容許最大內(nèi)存。解決這個題目,起首須要查看你的法度是否分派了過多的內(nèi)存,在法度沒有題目的景象下,你可以經(jīng)由過程一下辦法來增長PHP的內(nèi)存限制(memory_limit)。
搜檢php的內(nèi)存限制值
為了查看這個值,你須要建樹一個空的php文件,比如view-php-info.php。然后將一下代碼貼到里面。
<?php phpinfo(); ?>
將這個腳本放到你的Web辦事器上,然后在瀏覽器中調(diào)用它。這時你可以看到你的PHP景象設(shè)備的信息,此中有一項目組是關(guān)于“memory_limit”的, 如下圖:
注:你可以用這種辦法來查看php的其他參數(shù)設(shè)置,不僅僅是memory_limit
memory_limit應(yīng)當(dāng)設(shè)為幾許?
這個完全依附于你的應(yīng)用的請求。比如Wordpress,運行起核心代碼須要32MB。Drupal 6則請求這個值最小為16MB,并推薦設(shè)置為32MB。若是你又安裝不少的插件(plugins),尤其是那些要進行圖像處理懲罰的模塊,那么你可能須要128MB或更高的內(nèi)存。
如何設(shè)置memory_limit
辦法1: php.ini
最簡單或常用的辦法是批改php.ini
1.起首找到對你的網(wǎng)站生效的php.ini文件 因為有多個處所都可以設(shè)置php的參數(shù),找到正確的設(shè)備文件,并進行更改是起首要做的一步。若是你上方的辦法建樹了php文件來查看其設(shè)備參數(shù),則你可以找到“Loaded Configuration File”這一項,以下是個例子:
對于Linux用戶,你可以經(jīng)由過程履行“php -i | grep Loaded Configuration File”來找到對應(yīng)的設(shè)備文件。而Windows用戶,你可以測驗測驗批改你的php安裝目次下的php.ini。
2.編輯php.ini 在php.ini中,找到“memory_limit”這一項,若是沒有,你可以在文件的尾部本身增長這個參數(shù)。以下是一些設(shè)置典范
memory_limit = 128M ; 可以將128M改為任何你想設(shè)置的值
保存文件
3.重啟web 辦事器 若是是web辦事器應(yīng)用Apache, 則履行:
httpd restart
有些景象下,你可能不被容許私批改php.ini。比如若是你購買了虛擬主機辦事,然則你的辦事商確禁止你批改這個文件。那么,你可以須要推敲用其他辦法來增長memory_limit的值。
辦法2: .htaccess
申明: 這種辦法只有在php以Apache模塊來履行時才生效。 在你的網(wǎng)站的根目次下找到“.htaccess”文件,若是沒有,可以本身創(chuàng)建一個。然后把以下設(shè)備放入此中
php_value memory_limit 128M ; 可以將128M改為任何你想設(shè)置的值
辦法3: 運行時批改php的內(nèi)存設(shè)置
在你的php代碼中增長以下號令行即可。
ini_set(""memory_limit"",""128M"");
memory_limit批改失敗
若是你應(yīng)用虛擬主機,有可能會呈現(xiàn)memory_limit的值批改失敗。這個須要接洽你的辦事商看怎么處理懲罰,凡是他們限制了可以設(shè)置的最大值或者底子就不容許你批改。若是他們的景象真的無法滿足你的請求,那么你可能要推敲換一個主機辦事商。
Copyright@ 2011-2016 版權(quán)所有:大連千億科技有限公司 遼ICP備11013762-3號 google網(wǎng)站地圖 百度網(wǎng)站地圖 網(wǎng)站地圖
公司地址:大連市沙河口區(qū)中山路692號辰熙星海國際2317 客服電話:0411-39943997 QQ:2088827823 37482752
法律聲明:未經(jīng)許可,任何模仿本站模板、轉(zhuǎn)載本站內(nèi)容等行為者,本站保留追究其法律責(zé)任的權(quán)利! 隱私權(quán)政策聲明