當前位置:首頁 » 編程語言 » php的內存

php的內存

發布時間: 2022-07-14 01:34:15

『壹』 php 如何分配內存

php都是顯式內存分配,沒有隱式分配內存的方法吧.對於php一個變數定義的時候應該就在內存中開辟了一塊空間吧.沒有c那樣可以使用malloc alloc realloc隱士分配內存.

『貳』 一個php線程 佔多少內存

單獨的線程不佔用多少內存,好像也沒有工具查看,一個進程一般佔用3-5M內存,這與載入的擴展有關,如果配置不好可能佔用內存較大。

『叄』 查看PHP程序佔用多少內存

想要知道編寫的 PHP 腳本需要佔用多少內存么?很簡單,直接使用 PHP 查看當前分配給 PHP 腳本的內存的函數 memory_get_usage() 就可以了$memory = round(memory_get_usage() / 1024 / 1024, 2).'MB';
上面的程序默認輸出單位為 byte(s))我將它轉換成MB,也就是當時 PHP 腳本使用的內存(不含 memory_get_usage() 函數本身佔用的內存)。
更多問題可以去php中文網問答社區提問http://www.php.cn/wenda.html,大神在線幫你解決,希望對你有幫助

『肆』 php 內存不夠怎麼解決

這個提示的意思是內存條和磁碟空間太小,系統分配臨時緩存的空間也隨之不足,使你在運行一些程序時受到了緩存的限制。比方你在打游戲時是一關一關的往前打,你的電腦就要把你打過的游戲暫時保存在這個虛擬內存里。如果空間存儲已滿,那麼你正在運行中的程序就會受到一些限制。
要解決虛擬內存太低的問題,只有把內存條和磁碟的容量擴大,一般內存條要達到1gb以上,磁碟也要達到80g的才好用。建議你只花幾十元加一條內存條問題就全解決了。
如果你要手動將虛擬內存的緩存空間指定到其它盤符上是沒有多大效果的。因為造成此問題的主要原因就是你的這些空間太小,使你的系統在合理分配時受到了限制。所以,你使用手動強迫手段來調配完全是錯誤的,相反,這樣對你的電腦或更有所不利。
如果
你的確要手動調整,方法是:滑鼠指向「我的電腦」彈右鍵——單擊「屬性」——單擊「高級」——單擊「性能」這里的「設置」——單擊「高級」——單擊「虛擬內存」這里的「更改」——在上面的列表中選擇你要將虛擬內存更改到哪個盤,(選擇剩餘空間比較大的磁碟,一般的是e盤)——單擊「自定義大小
」——輸入最大值和最小值(把最大值改為物理內存的2.5倍)——點擊右下角的「設置」按鈕
——這時會彈出「重新啟動計算機」的提示——單擊「確定」重啟即可

『伍』 php頁面內存消耗 多大

解決辦法:
1,修改 php.ini
將memory_limit由 8M 改成 16M(或更大),重啟apache服務
2,在PHP 文件中 加入 ini_set(」memory_limit」,」100M」);
注意:為了系統的其它資源的正常使用 請您不要將 memory_limit設置太大,其中-1為不限
3,修改.htaccess 文檔(前提是該目錄支持.htaccess)
在文檔中新增一句:php_value memory_limit 16M(或更大)

『陸』 關於PHP語言在內存中的分配

fnServerData": function ( sSource, aoData, fnCallback ) {
/* Add some extra data to the sender */
aoData.push( { "name": "more_data", "value": "my_value" } );
$.getJSON( sSource, aoData, function (json) {
/* Do whatever additional processing you want on the callback, then tell DataTables */
fnCallback(json)
} );
}

『柒』 如何增加PHP的內存memory

運行PHP程序,通常會遇到「Fatal Error: Allowed memory size of xxxxxx bytes exhausted」的錯誤, 這個意味著PHP腳本使用了過多的內存,並超出了系統對其設置的允許最大內存。解決這個問題,首先需要查看你的程序是否分配了過多的內存,在程序沒有問題的情況下,你可以通過一下方法來增加PHP的內存限制(memory_limit)。

檢查php的內存限制值
為了查看這個值,你需要建立一個空的php文件,比如view-php-info.php。然後將一下代碼貼到裡面。
<?php phpinfo(); ?>
將這個腳本放到你的Web伺服器上,然後在瀏覽器中調用它。這時你可以看到你的PHP環境配置的信息,其中有一部分是關於「memory_limit」的,
註:你可以用這種方法來查看php的其他參數設置,不僅僅是memory_limit

memory_limit應該設為多少?
這個完全依賴於你的應用的要求。比如Wordpress,運行起核心代碼需要32MB。Drupal 6則要求這個值最小為16MB,並推薦設置為32MB。如果你又安裝不少的插件(plugins),尤其是那些要進行圖像處理的模塊,那麼你可能需要128MB或更高的內存。

如何設置memory_limit

方法1:.htaccess
說明: 這種方法只有在php以Apache模塊來執行時才生效。 在你的網站的根目錄下找到「.htaccess」文件,如果沒有,可以自己創建一個。然後把以下配置放入其中php_value memory_limit 128M ; 可以將128M改為任何你想設置的值

方法2:運行時修改php的內存設置
在你的php代碼中增加以下命令行即可。
ini_set('memory_limit','128M');
memory_limit修改失敗

方法3:php.ini
最簡單或常用的方法是修改php.ini
1.首先找到對你的網站生效的php.ini文件 由於有多個地方都可以設置php的參數,找到正確的配置文件,並進行更改是首先要做的一步。如果你上面的方法建立了php文件來查看其配置參數,則你可以找到「Loaded Configuration File」這一項,以下是個例子:

對於Linux用戶,你可以通過執行「php -i | grep Loaded Configuration File」來找到對應的配置文件。而Windows用戶,你可以嘗試修改你的php安裝目錄下的php.ini。

2.編輯php.ini 在php.ini中,找到「memory_limit」這一項,如果沒有,你可以在文件的尾部自己增加這個參數。以下是一些設置範例
memory_limit = 128M ; 可以將128M改為任何你想設置的值
保存文件

3.重啟web 伺服器 如果是web伺服器使用Apache, 則執行:
httpd restart
有些情況下,你可能不被允許私修改php.ini。比如如果你購買了虛擬主機服務,但是你的服務商確禁止你修改這個文件。那麼,你可以需要考慮用其他方法來增加memory_limit的值。

如果你使用虛擬主機,有可能會出現memory_limit的值修改失敗。這個需要聯系你的服務商幫你處理。

『捌』 如何獲知PHP程序佔用多少內存memory

PHP性能優化過程中需要獲取PHP內存消耗,使用memory_get_usage()函數可獲取當前的內存消耗情況,函數使用簡單,這里討論一下memory_get_usage()函數的用法與實例

三,基礎用法與實例
1,獲取當前的內存消耗量

復制代碼代碼如下:

<?php
echo memory_get_usage();
$var = str_repeat("liuhui", 10000);
echo memory_get_usage();
unset($var);
echo memory_get_usage();
?>

分別輸出:62328 122504 62416
說明:memory_get_usage()函數輸出的數值為bytes單位

2,格式化memory_get_usage()輸出

復制代碼代碼如下:

<?php
function convert($size){
$unit=array('b','kb','mb','gb','tb','pb');
return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
}
echo convert(memory_get_usage(true));
?>

輸出:256 kb

3,自定義函數獲取數組或變數值大小

復制代碼代碼如下:

<?php
function array_size($arr) {
ob_start();
print_r($arr);
$mem = ob_get_contents();
ob_end_clean();
$mem = preg_replace("/\n +/", "", $mem);
$mem = strlen($mem);
return $mem;
}
$memEstimate = array_size($GLOBALS);
?>

『玖』 php內存不足

你好
時候我們再運行php程序時,會出現
Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
出現該錯誤的原因:在確保不是程序產生的原因(例如死循環),是由於php頁面消耗的最大內存默認是為 8M (在PHP的ini件里可以看到) ,
如果文件太大 或圖片太大 在讀取的時候 會發生上述錯誤。
解決辦法:
1.修改 php.ini將memory_limit由 8M 改成 16M(或更大),重啟apache服務
2.在PHP 文件中 加入 ini_set(『memory_limit',『**M');注意:為了系統的其它資源的正常使用 請您不要將 memory_limit設置太大,其中-1為不限
3.修改.htaccess 文檔(前提是該目錄支持.htaccess)在文檔中新增一句:php_value memory_limit 16M(或更大)
滿意請採納

熱點內容
如何改變vivo手機賬戶密碼 發布:2024-05-19 10:56:07 瀏覽:376
sql的length函數 發布:2024-05-19 10:55:15 瀏覽:545
資料庫管理系統設計報告 發布:2024-05-19 10:49:50 瀏覽:684
linux怎麼將驅動編譯進內核 發布:2024-05-19 10:23:47 瀏覽:768
c語言讀程序題 發布:2024-05-19 10:13:52 瀏覽:675
新的安卓手機怎麼樣下載微信 發布:2024-05-19 10:05:06 瀏覽:879
加9的演算法 發布:2024-05-19 10:04:15 瀏覽:264
新名圖配置怎麼樣 發布:2024-05-19 09:31:30 瀏覽:95
php獲取子節點 發布:2024-05-19 09:21:18 瀏覽:160
php生成html 發布:2024-05-19 09:20:24 瀏覽:795