色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

深入PHP內(nèi)存相關(guān)的功能特性詳解

可能有的讀者碰到過(guò)類似下面的錯(cuò)誤吧:
Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)這個(gè)錯(cuò)誤的信息很明確,php已經(jīng)達(dá)到了允許使用的最大內(nèi)存了,通常上來(lái)說(shuō)這很有可能是我們的程序編寫的有些問(wèn)題。比如:一次性讀取超大的文件到內(nèi)存中,或者出現(xiàn)超大的數(shù)組,或者在大循環(huán)中的沒(méi)有及時(shí)是放掉不再使用的變量,這些都有可能會(huì)造成內(nèi)存占用過(guò)大而被終止。

php默認(rèn)的最大內(nèi)存使用大小是32M, 如果你真的需要使用超過(guò)32M的內(nèi)存可以修改php.ini配置文件的如下配置:

memory_limit = 32M如果你無(wú)法修改php配置文件,同時(shí)你的php環(huán)境沒(méi)有禁用ini_set()函數(shù),也可以動(dòng)態(tài)的修改最大的內(nèi)存占用大小:

<?php ini_set("memory_limit", "128M");既然我們能動(dòng)態(tài)的調(diào)整最大的內(nèi)存占用,那我們是否有辦法獲取目前的內(nèi)存占用情況呢?答案是肯定的。

1.memory_get_usage(),這個(gè)函數(shù)的作用是獲取目前php腳本所用的內(nèi)存大小。
2.memory_get_peak_usage(),這個(gè)函數(shù)的作用返回當(dāng)前腳本到目前位置所占用的內(nèi)存峰值,這樣就可能獲取到目前的腳本的內(nèi)存需求情況。
單就php用戶空間提供的功能來(lái)說(shuō),我們似乎無(wú)法控制內(nèi)存的使用,只能被動(dòng)的獲取內(nèi)存的占用情況

那么當(dāng)我們知道php引用計(jì)數(shù),函數(shù)表,符號(hào)表,常量表等,這些信息都會(huì)占用內(nèi)存的時(shí)候

我們可以有意的避免不必要的浪費(fèi)內(nèi)存,比如我們?cè)陧?xiàng)目中通常會(huì)使用autoload來(lái)避免一次性把不一定會(huì)使用的類包含進(jìn)來(lái),而這些信息是會(huì)占用內(nèi)存的

如果我們及時(shí)把不再使用的變量unset掉之后可能會(huì)釋放掉它所占用的空間

php技術(shù)深入PHP內(nèi)存相關(guān)的功能特性詳解,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 九江市| 正镶白旗| 桃园市| 黄石市| 望江县| 枣阳市| 凤山市| 闻喜县| 开江县| 高邮市| 茂名市| 龙泉市| 达孜县| 嘉善县| 峨眉山市| 梅河口市| 商丘市| 连山| 花莲县| 上高县| 龙山县| 乡城县| 赤峰市| 青州市| 广元市| 宿州市| 莱阳市| 泗洪县| 灵武市| 马尔康县| 奉新县| 台南市| 开封县| 沧源| 长岛县| 新干县| 龙川县| 中山市| 瓮安县| 五华县| 黄浦区|