当前位置:首页 » 编程语言 » 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(或更大)
满意请采纳

热点内容
自动清理缓存的图片 发布:2024-05-16 11:50:13 浏览:812
怎么设置开机密码win8 发布:2024-05-16 11:49:59 浏览:826
ssh访问服务器文件 发布:2024-05-16 11:16:11 浏览:522
方舟编译器外国 发布:2024-05-16 11:16:10 浏览:965
莜麦众包安卓怎么下载 发布:2024-05-16 11:15:09 浏览:283
鑫天宇拉杆箱如何设置密码 发布:2024-05-16 10:29:34 浏览:707
国内服务器推荐云 发布:2024-05-16 10:28:11 浏览:580
车险保单下载后需解压密码 发布:2024-05-16 10:20:32 浏览:184
eclipse怎么编写php 发布:2024-05-16 10:17:41 浏览:990
轮胎赞助车队活动视频拍摄脚本 发布:2024-05-16 09:51:02 浏览:559