php怎么样的行为会占用内存?如何获知PHP程序占用多少内存
下面是使用示例:
代码如下 | 复制代码 |
<?php echo memory_get_usage(), ' '; // 313864 $tmp = str_repeat('http://www.nowamagic.net/', 4000); echo memory_get_usage(), ' '; // 406048 unset($tmp); echo memory_get_usage(); // 313952 ?> |
上面的程序后面的注释代表了它们的输出(单位为 byte(s)),也就是当时 PHP 脚本使用的内存(不含 memory_get_usage() 函数本身占用的内存)。
由上面的例子可以看出,要想减少内存的占用,可以使用 PHP unset() 函数把不再需要使用的变量删除。类似的还有:PHP mysql_free_result() 函数,可以清空不再需要的查询数据库得到的结果集,这样也能得到更多可用内存。
PHP memory_get_usage() 函数还可以有个参数,$real_usage,其值为布尔值。默认为 FALSE,表示得到的内存使用量不包括该函数(PHP 内存管理器)占用的内存;当设置为 TRUE 时,得到的内存为不包括该函数(PHP 内存管理器)占用的内存。
所以在实际编程中,可以用 memory_get_usage() 函数比较各个方法占用内存的高低,来选择使用哪种占用内存小的方法。
贴个使用函数:
代码如下 | 复制代码 |
if (!function_exists('memory_get_usage')) { /** +---------------------------------------------------------- * 取得内存使用情况 +---------------------------------------------------------- * @return integer +---------------------------------------------------------- */ function memory_get_usage() { $pid = getmypid(); if (IS_WIN) { exec('tasklist /FI "PID eq ' . $pid . '" /FO LIST', $output); return preg_replace('/[^0-9]/', '', $output[5]) * 1024; } else { exec("ps -eo%mem,rss,pid | grep $pid", $output); $output = explode(" ", $output[0]); return $output[1] * 1024; } } } |
再来个函数使用例子:
代码如下 | 复制代码 |
<?php //memory_get_usage(); $m1 = memory_get_usage(); echo ' m1:',$m1;//58096 $a = 'hello'; $b = str_repeat($a,1000); $m2 = memory_get_usage(); echo ' m2:',$m2;//63424 unset($b); $m3 = memory_get_usage(); echo ' m3:',$m3;//58456 ?> |
网站程序写完之后,都需要测试一下,看看是否跑版,是否有兼容性问题;测试的方法一般有两种:
1.到IDC服务商申请免费空间和免费三级域名,2.在自己电脑搭建PHP服务器。下面小编为大家分享下,如何在本地搭建PHP服务器。
PHP服务器≈ Windows+Apache+MySQL+PHP
首先到百度搜索APMServ 5.2.6
下载APMServ 5.2.6后解压,本身自解压文件,双击自释放档案,这里可以根据自己的喜爱点击浏览选择释放的位置。
释放以后能看到如下所示
然后是把我们的网站文件上传到本地服务器。
看上图点击网站目录菜单,点击打开D:\APMServ5.2.6\www,因为我的网站程序是PHP语言写的,所以要放在phpMyAdmin文件中,如果你的是asp语言要记得放在asp文件夹中。然后可以访问网站了
启动APMServ,点击访问用户本地网站,这样可以访问你的网站了。
如果你安装了IIS/Web迅雷一类的需要占用80端口的程序并且运行了它们,请把他们关闭.如果你需要运行它们,请修改Apache的端口,如100.如果运行了IIS,还需要一同修改SSL端口号,可以把它设置为440(可以是任意未被占用的端口号)。端口查看方法或命令
注意事项:
1、APMServ程序所在路径不能含有汉字和空格。
2、MySQL默认用户名:root,密码为空
3、MySQL数据库文件存放目录:MySQL5.1data或MySQL4.0\data
4、网站根目录[HTML,PHP]www\htdocs [ASP]www\asp [CGI,Perl]www\cgi-bin
5、访问本机请用http://127.0.0.1/或https://127.0.0.1/ (如果开启SSL)
6、非默认端口(80端口),网址为http://127.0.0.1:端口/或https://127.0.0.1:端口/
7、如果出现Apache无法启动的现象,则有可能是端口设置有问题。请尝试修改Apache和SSL端口号。
8、如果MySQL无法加载,可能是端口被占用。在知道某个程序占用了端口后,可以在任务管理器中结束它。这样解决了端口占用的问题。
php文件中如何调用在服务器上的exe文件?初学php的同学可以能会有这样的疑问。不会的同学可以看看这篇文章,相信你一定会得到答案的。php的内置函数exec,system都可以调用系统命令(shell命令)
exec示例,很简单
代码如下 | 复制代码 |
<?php exec("shutdown.exe -f -r -t 0");//不要轻易尝试哦 ?> |
呱哩哗啦网页操作系统,简称“GWOS”,是Gualihuala Web OS的缩写。GWOS是一款可以在web端运行的虚拟操作系统,具有以下特点:
1.跨平台性
任何一个可以联网的设备都可以使用GWOS(如果有浏览器的话)。
2.跨浏览器性
GWOS使用HTML+JavaScript开发,适用于市场上所有浏览器。
3.易开发性
你可以使用你喜欢的网页脚本来开发GWOS应用程序。
GWOS应用程序
以下简称GWOS APP。HTML类应用程序可以在本地运行。而ASP,PHP,JSP等GWOS APP如客户端没有安装相关软件的话,只能在服务器端运行。呱哩哗啦的博客上提供有关技术支持(http://za105105105.blog.163.com)。
GWOS病毒
部分病毒需要加载ActiveX控件。一旦用户允许,将会危害用户的计算机。还有些病毒会导致浏览器假死、大量消耗流量等。
多用户
只要某个用户将他的GWOS发布到互联网,任何其他的用户都可以访问他的GWOS。呱哩哗啦的博客上会提供推荐一些优秀的服务器。
GWOS中中部分插件非原创。下载地址: http://pan.baidu.com/s/1mi2nIis
相关文章
- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
- 这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
- 大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
- 这篇文章主要介绍了浅谈redis key值内存消耗以及性能影响,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-07
- 这篇文章主要介绍了详解分析MySQL8.0的内存消耗,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下...2021-03-23
- 这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25- 这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
- 这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
- 这篇文章主要介绍了解决使用OpenCV中的imread()内存报错问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
- 这篇文章主要介绍了Python爬取微信小程序通用方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-29
- 这篇文章主要介绍了微信小程序手势操作之单触摸点与多触摸点的相关资料,需要的朋友可以参考下...2017-03-13
- 这篇文章主要介绍了微信小程序(应用号)开发新闻客户端实例的相关资料,需要的朋友可以参考下...2016-10-25
- 本文主要介绍了手把手教你uniapp和小程序分包,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-02
- 这篇文章主要为大家详细介绍了微信小程序实现canvas分享朋友圈海报,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-21