您的位置:

53个要点提高php效率,提高php运行效率

本文目录一览:

提高PHP编程效率的53个要点

用单引号代替双引号来包含字符串 这样做会更快一些 因为PHP会在双引号包围的字符串中搜寻变量 单引号则不会 注意 只有echo能这么做 它是一种可以把多个字符串当作参数的“函数”(译注 PHP手册中说echo是语言结构 不是真正的函数 故把函数加上了双引号)

如果能将类的方法定义成static 就尽量定义成static 它的速度会提升将近 倍

$row[’id’] 的速度是$row[id]的 倍

echo 比 print 快 并且使用echo的多重参数(译注 指用逗号而不是句点)代替字符串连接 比如echo $str $str

在执行for循环之前确定最大循环数 不要每循环一次都计算最大值 最好运用foreach代替

注销那些不用的变量尤其是大数组 以便释放内存

尽量避免使用__get __set __autoload

require_once()代价昂贵

include文件时尽量使用绝对路径 因为它避免了PHP去include_path里查找文件的速度 解析操作系统路径所需的时间会更少

如果你想知道脚本开始执行(译注 即服务器端收到客户端请求)的时刻 使用$_SERVER[‘REQUEST_TIME’]要好于time()

函数代替正则表达式完成相同功能

str_replace函数比preg_replace函数快 但strtr函数的效率是str_replace函数的四倍

如果一个字符串替换函数 可接受数组或字符作为参数 并且参数长度不太长 那么可以考虑额外写一段替换代码 使得每次传递参数是一个字符 而不是只写一行代码接受数组作为查询和替换的参数

使用选择分支语句(译注 即switch case)好于使用多个if else if语句

用@屏蔽错误消息的做法非常低效 极其低效

打开apache的mod_deflate模块 可以提高网页的浏览速度

数据库连接当使用完毕时应关掉 不要用长连接

错误消息代价昂贵

在方法中递增局部变量 速度是最快的 几乎与在函数中调用局部变量的速度相当

递增一个全局变量要比递增一个局部变量慢 倍

递增一个对象属性(如 $this prop++)要比递增一个局部变量慢 倍

递增一个未预定义的局部变量要比递增一个预定义的局部变量慢 至 倍

仅定义一个局部变量而没在函数中调用它 同样会减慢速度(其程度相当于递增一个局部变量) PHP大概会检查看是否存在全局变量

方法调用看来与类中定义的方法的数量无关 因为我(在测试方法之前和之后都)添加了 个方法 但性能上没有变化

派生类中的方法运行起来要快于在基类中定义的同样的方法

调用带有一个参数的空函数 其花费的时间相当于执行 至 次的局部变量递增操作 类似的方法调用所花费的时间接近于 次的局部变量递增操作

Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢 至 倍 尽量多用静态HTML页面 少用脚本

除非脚本可以缓存 否则每次调用时都会重新编译一次 引入一套PHP缓存机制通常可以提升 %至 %的性能 以免除编译开销

提高PHP开发效率的技巧

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。

1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。

2、$row[’id’] 的速度是$row[id]的7倍。

3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。

4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。

5、注销那些不用的变量尤其是大数组,以便释放内存。

6、尽量避免使用__get,__set,__autoload。

7、require_once()代价昂贵。

8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。

9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。

10、函数代替正则表达式完成相同功能。

11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。

如何提高php的fast cgi 效率

提高php的fast cgi 效率方法如下:

1、ISAPI运行模式

ISAPI即Internet Server Application Program Interface,是微软提供的一套面向Internet服务的API接口,一个ISAPI的DLL,可以在被用户请求激活后长驻内存,等待用户的另一个请求,还可以在一个DLL里设置多个用户请求处理函数,此外,ISAPI的DLL应用程序和WWW服务器处于同一个进程中,效率要显著高于CGI。(由于微软的排他性,只能运行于windows环境)

2、APACHE2HANDLER

PHP作为Apache模块,Apache服务器在系统启动后,预先生成多个进程副本驻留在内存中,一旦有请求出现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。对于客户浏览器的请求反应更快,性能较高。

3、apache模块的DLL运行模式

此运行模式是我们以前在windows环境下使用apache服务器经常使用的,而在模块化(DLL)中,PHP是与Web服务器一起启动并运行的。(是apache在CGI的基础上进行的一种扩展,加快PHP的运行效率)

怎样高效率的学习php?

PHP需要掌握的知识还是比较多的,最基本的比如:PHP基本的语法、php框架以及CMS、mysql数据库设计表、mysql数据库的基本SQL语句。现在一般PHP的都得会前端,那就包括:js/ajax、html、css。如果更高点层次的就是linux服务器。

PHP攻城狮践行学习路线图:

1、用集成环境安装PHP环境,一定要记住这一点,不要自己分开去装,尤其是自学的朋友。不然你会觉得很复杂,会没有信心学下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的阶段历练才有最后的沉淀。

2、先了解一些基本的变量类型,语法,函数,基本逻辑,写简单的代码。前期以尝试,培养兴趣为主。这段时间是打基础很好的时候,这个会影响你后面的发展,不过也可以在后期去完善。

3、这时候你可能觉得PHP就这样,没什么难度,或者有的觉得太难了,简直一脸疑惑。这个到底有什么用。在这时候一定要坚持下来,可以试试先放一下,别太较真。慢慢的困惑你的会被你领悟的。这时,建议学习html+css+js,缓解自己的压力,这个相对简单,简历信心。尤其是js,总结其实有相同的思路,可以结合着一起体会。

4、这些都感觉有80%了解就可以先放放了,现在在学习MySQL,也是先了解基础的。这个是干什么的,我可以用它做什么。因为之前装的集成环境。为什么感觉是凌乱的,我想告诉你的是,一是不要在自己没能力解决问题的时候死磕,浪费时间,丧失信心。这时候我们要做的是学习壮大自己,不要灰心。二是我本来觉得这一切都了解才是完整的。我们的目标也是要把这些都做好,这才是一个合格的PHP程序员。

5、这一切都顺利的话,你基本离预设的目标不远了,完成了整个学习的70%了。后面的是在之前的基础上升华。把HTML和css、js结合、静态文件和PHP结合、PHP和MySQL结合。这个阶段可能越到的问题会异常的多,一定要学会解决问题。网上很多都是答案,同样你要学会问问题。

6、这些之后你基本已经快到学习的尾声了,但还缺少经验。这时,你可以看一些网上开源的cms,例如织梦,国内用的多,越到问题好解决。看看一些视频(网上免费的很多),查漏补缺,总结归纳形成自己的知识体系。是时候该准备庆祝下自己这段的时间没有白费(一般2到3各月,看平时每天花的时间),基本成为一个合格的PHP程序员了。也该恭喜你了,其实并不那么难。坚持,坚持;努力,努力;学习,学习