zoukankan      html  css  js  c++  java
  • php  性能优化

    基础优化

    1 不要随便复制变量。

    有时候为了使 PHP 代码更加整洁,一些 PHP 新手(包含我)会把提前定义好的变量拷贝到一个名字更简短的变量中,事实上这样做的结果是添加了一倍的内存消耗,仅仅会使程序更加慢。试想一下,在以下的样例中,假设用户恶意插入 512KB 字节的文字到文本输入框中,这样就会导致 1MB 的内存被消耗!

    BAD:

    $description = $_POST['description'];
    echo $description;

    GOOD:

    echo $_POST['description'];

    2. 对字符串使用单引號

    PHP 引擎同意使用单引號和双引號来封装字符串变量,可是这个是有非常大的区别的!使用双引號的字符串告诉 PHP 引擎首先去读取字符串内容,查找当中的变量,并改为变量相应的值。一般来说字符串是没有变量的,所以使用双引號会导致性能不佳。最好是使用字符串连接而不是双引號字符串。

    BAD:

    $output = "This is a plain string";

    GOOD:

    $output = 'This is a plain string';

    BAD:

    $type = "mixed";
    $output = "This is a $type string";

    GOOD:

    $type = 'mixed';
    $output = 'This is a ' . $type .' string';

    3. 使用 echo 函数来输出字符串 

    使用 echo() 函数来打印结果出了有更easy阅读之外,在下个样例中,你还能够看到有更好的性能。由于print是函数,而echo是php的内置语法

    BAD:

    print($myVariable);

    GOOD:

    echo $myVariable;

    4. 不要在 echo 中使用连接符

    非常多 PHP 程序猿(有包含我)不知道在用 echo 输出多个变量的时候,事实上能够使用逗号来分开的,而不必用字符串先把他们先连起来,如以下的第一个样例中,由于使用了连接符就会有性能问题,由于这样就会须要 PHP 引擎首先把全部的变量连接起来,然后在输出,而在第二个样例中,PHP 引擎就会依照循序输出他们。

    BAD:

    echo 'Hello, my name is' . $firstName . $lastName . ' and I live in ' . $city;

    GOOD:

    echo 'Hello, my name is' , $firstName , $lastName , ' and I live in ' , $city;

    5. 使用 switch/case 取代 if/else

    对于仅仅有单个变量的推断,使用 switch/case 语句而不是 if/else 语句,会有更好的性能,而且代码更加easy阅读和维护。

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

    php.ini 參数优化

    1 PHP脚本运行时间 max_execution_time = 30

    该选项设定PHP程序的最大运行时间,假设一个PHP脚本被请求,且该PHP脚本在max_execution_time时间内没能运行完成,则PHP不再继续运行,直接给client返回超时错误。没有特殊须要该选项可保持默认设置30秒,假设您的PHP脚本确实须要长运行时间则能够适当增大该时间设置。 


    2 PHP脚本处理内存占用  memory_limit = 128M

    该选项指定PHP脚本处理所能占用的最大内存,默觉得128MB,假设您的server内存为1GB以上,则该选项能够设置大一些(只是貌似没什么意义,一条)

    3 PHP全局函数声明找到:register_globals = Off

    当 register_globals 打开以后,各种变量都被注入代码,比如来自 HTML 表单的请求变量。再加上 PHP 在使用变量之前是无需进行初始化的,这就使得更easy写出不安全的代码。比如 www.test.com/index.php?abc=test 假设打开该设置的话能够直接在php文件里用$abc试用改值

    4



    高级性能优化

    1 php 编译缓存APC

    PHP 脚本假设不做缓冲,每次调用都须要编译,因此,安装一个 PHP 缓冲产品能提升 25-100% 的性能。

















  • 相关阅读:
    调用微信扫一扫接口
    Http错误代码解释
    php goto的用法
    Yii2.0-生成二维码实例
    飞鹅WiFi打印机配置,php调用接口
    HTML5 为什么只需要写 <!DOCTYPE HTML>?
    VueJs之 v-bind
    react 组件导出
    前端代码规范
    git与github的文件推送
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3985449.html
Copyright © 2011-2022 走看看