查看: 6508|回复: 4
打印 上一主题 下一主题

php性能效率优化

[复制链接]
跳转到指定楼层
1#
发表于 2008-5-16 16:02:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
最近在公司一边自学一边写PHP程序,由于公司对程序的运行效率要求很高,而自己又是个新手,一开始就注意程序的效率很重要,这里就结合网上的一些资料,总结下php程序效率优化的一些策略:

1.在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;(对这于这一点kimi不敢苟同,详细请查阅http://www.ccvita.com/index.php/163.html)

2.尽量的少进行文件操作,虽然PHP的文件操作效率也不低的;

3.优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过);

4.尽可能的使用PHP内部函数(但是我却为了找个PHP里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!);

5.循环内部不要声明变量,尤其是大变量:对象(这好像不只是PHP里面要注意的问题吧?);

6.多维数组尽量不要循环嵌套赋值;

7.在可以用PHP内部字符串操作函数的情况下,不要用正则表达式;

8.foreach效率更高,尽量用foreach代替while和for循环;

9.用单引号替代双引号引用字符串;

10.“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”;

11.对global变量,应该用完就unset()掉
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
2#
 楼主| 发表于 2008-5-16 16:07:46 | 只看该作者
台州网址导航
对于11条,global的变量如果用完就要unset,那么还global它干什么呢,倒不如用函数局部变理了,并且,对于要global的变量,什么时候才是用完它也是很难把握的。
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
3#
 楼主| 发表于 2008-5-16 16:07:59 | 只看该作者
台州网址导航
提高效率不是你这杨提的。改用什么用什么,要看全局的东西。正则如果不是每次请求都用到尽量多用。
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
4#
 楼主| 发表于 2008-5-16 16:08:15 | 只看该作者
台州网址导航
1:按后面的那篇文章里的测试结果,应该不提倡用file_get_contents,因为他比较慢占用内存也多,推荐调用静态内容的时候使用fpassthru或readfile;
3:insert,update等是更改数据库的语句,当你需要更改数据库的时候就必须用,没得选择,因为你不可能用select来代替insert;
8:foreach不一定就比while,for的效率更高,建议你多测试几种情况;
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
5#
 楼主| 发表于 2008-5-16 16:08:38 | 只看该作者
台州网址导航
也不能一概而论吧,要是读取文件到变量,file_get_contents还是首选
fpassthru或readfile还要从缓存区取出来赋值给变量,也要花时间啊,要是缓存区内容复杂还要先处理掉……
再说我刚刚自己做了测试,即使只是运行一次到缓存区不赋值到变量,三个函数也相差非常小,多刷新几次还会互有胜负
而且file_get_contents非常稳定,fpassthru或readfile起伏比较大
下面摘录最近三次刷新各个函数花费的时间,全部是file_get_contents获胜(Apache2.2.4, PHP 5.24, Windows XP):

[ 本帖最后由 tznktg 于 2008-5-16 16:10 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表