• 注册
  • 网站性能优化 关注:0 内容:7

    PHP常用一部分优化技巧

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • PHP优化,提供以下几条,仅供大家参考:

      1. 少用正则表达式,因为能用PHP函数的情况下,尽量用他们,效率高于正则。

      没得说,正则最耗性能。

      2. 尽量用单引号,因为一般字符串是没有变量的,使用双引号会导致性能不佳。

      3. 使用isset代替strlen,在检验字符串长度时,我们一般会使用 strlen() 函数。虽然此函数执行起来相当快,因为它不做任何计算,但是,由于strlen()是函数,多多少少会有些慢,所以在某些情况下,我们可以使用 isset() 技巧加速执行你的代码。

      4.echo效率高于print,因为echo没有返回值,print返回一个整型。

      5.在include和require中尽量使用绝对路径。因为包含相对路径,PHP会在include_path里面遍历查找文件,会影响效率。

      6. 在可以用file_get_contents()替代file()、fopen()、feof()、fgets()等系列方法的情况下,尽量用file_get_contents()。因为他的效率高得多!

      7. 在传参方面通过参数地址引用的方式,实现函数多个返回值,这比按值传递效率高。方法是在参数变量前加个 &。

      8. 使用选择分支语句(switch case)好于使用多个if,else if语句。

      9. 尽量静态化,如果一个方法能被静态,那就声明它为静态的,速度可提高1/4。

      10. 使用$_SERVER变量,如果你需要得到脚本执行的时间,$_SERVER['REQUSET_TIME']优于time()。一个是现成就可以直接用,一个还需要函数得出的结果。

      11.使用++$i递增,当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的。

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

      13. 压缩输出,在php.ini中开启gzip压缩:

      zlib.output_compression = On

      zlib.output_compression_level = (level)

      如果你使用apache,也可以激活mod_gzip模块。

      14. 静态化页面,Apache/Nginx解析一个PHP脚本的时间,要比解析一个静态HTML页面慢2至10倍。所以尽量使页面静态化,或使用静态HTML页面。

      15. 提高性能的最简单的方式是不断升级、更新PHP版本。

      16. 多多利用PHP的扩展

      17. PHP缓存一般情况下,PHP脚本被PHP引擎编译后执行,会被转换成机器语言,也称为操作码。如果PHP脚本反复编译得到相同的结果,为什么不完全跳过编译过程呢?PHP加速器缓存了编译后的机器码,允许代码根据要求立即执行,而不经过繁琐的编译过程。对PHP开发人员而言,目前提供了两种可用的缓存方案。一种是APC(Alternative PHP Cache,可选PHP缓存),它是一个可以通过PEAR安装的开源加速器。另一种流行的方案是OPCode,也就是操作码缓存技术。

      18. 仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)

      19. 使用NoSQL缓存,Memchached或者Redis都可以。这些是高性能的分布式内存对象缓存系统,能提高动态网络应用程序性能,减轻数据库的负担。这对运算码 (OPcode)的缓存也很有用,使得脚本不必为每个请求重新编译。

      20. echo 输出字符串用逗号代替点连接符更快些。虽然,echo是一种语言结构,不是真正的函数。但是,它可以把逗号隔开的多个字符串当作“函数”参数传入,所以速度会更快。

      21. 在循环里别用函数,因为函数现在外面计算。

      22. 服务器使用Linux系统,这个我就不过多解释了。

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

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

      25.并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。

      26.多维数组尽量不要循环嵌套赋值。

      27.对global变量,应该用完就unset()掉

      最后再提醒一下在代码优化的时候应该注意的事情:

      1. 查询多次的最好缓存

      因为可以提升效率,不用麻烦的在去数据库执行一次了。

      2. 在写程序的时候更应该注重程序的扩展性,而不是追求速度。

      3. 在优化你的代码之前,先看看跟数据库有关的部分,因为大多数应用程序的瓶颈在数据库而不是代码。

      注意:优化还有很多,需要自己去发现,以上是自己开发阶段整理的,仅供参考。

      你需要登录,才能进行发帖操作
    • 单栏布局 帖子间隔 侧栏位置: