当前位置:首页 > PHP > 正文内容

PHP优化,PHP性能优化

高老师9年前 (2017-06-17)PHP1880

常见的PHP优化方法,让PHP效率更高,抽空更新(很多都是学习网络上的方法,想深度理解建议学C语言。):

  1. 字符串的输出最好使用单引号,不要使用双银行,否则PHP会去找是否存在变量需要解析

  2. 大数组,对象,资源句柄使用完及时进行unset()

  3. 能用系统函数解决的问题尽量不要使用正则表达式,虽然正则表达式逼格高,但是牺牲的是匹配的性能

  4. 数组下标$allres['id']的速度比$allres[id]快很多,网上说是7倍,但是我不知道是为什么7倍

  5. 对象中的方法能使用static最佳,例如我们在编写工具类的时候,无需实例化即可调用

  6. 如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用 $_SERVER['REQUEST_TIME'] 要好于 time(),我分析的是因为作为超全局变量已经存在信息,我们何必再调用time()

  7. switch case好于使用多个 if,else if 语句,我们无法说明是效率高,但是我比较喜欢的是这种语法,结构清晰,网上也是比较推荐

  8. 用 file_get_contents 替代 file、fopen、feof、fgets 等系列方法,例如微信支付中使用该函数来读取证书内容

  9. $a=$b=1远比$a=1;$b=1高效

  10. PHP在编写mysql语句一定要把关键字大写,例如SELECT   FROM   GROUP  BY等,因为你不大写,程序最终还是转大写,你大写了程序就不用转直接执行,取经自李炎恢老师。

  11. 使用include或者require引入文件请尽量使用硬路径(即绝对地址),避免PHP引擎查找文件影响速度,学习自李炎恢视频。

  12. 数组使用[]创建更节省内存,避免array()函数的消耗

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

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/10.html

分享给朋友:

“PHP优化,PHP性能优化” 的相关文章

PHP生成微信分享需要的signature签名

PHP生成微信分享需要的signature签名

因为一个TP项目中客户需要全部网页分享支持自定义图片和描述信息,于是自己封装了下 //share()微信分享链接 //参数1 appid //参数2 appsert //参数3 nonceStr随机码 //参数4 timestamp时间戳 public&nb...

PHP中Session文件过多的解决方法

PHP中Session文件过多的解决方法

PHP的session文件夹默认保存在同一个文件,随着访客的增多,访问的速度会非常慢,例如部分管理系统后台每天登陆1000次,1个月就创建了30000个session文件,一年后是多少?假设这个系统的用户是上万人呢?方法1:每个网站使用自己的session文件夹,代码如下:<?php $pat...

php多进程,php多进程处理任务,php多进程应用场景

php多进程,php多进程处理任务,php多进程应用场景

php多进程应用场景主要是非web端,fpm下是不支持多进程的,非类linux操作系统都不支持,请在cli模式使用.可以使用多进程做任务分发,批量计算,批量文件处理,批量爬虫,网络运维等等。下面看一份简单的入门demo//创建子进程 $pid=pcntl_fork(); //返回-1,创建失败,不...

php  RabbitMQ消息队列

php RabbitMQ消息队列

(1).config.php 配置文件<?php /**  * RabbitMQ_Config  */ $config = [     'host' => ...

php多进程实现任务管理器,定时执行任务,支持守护

php多进程实现任务管理器,定时执行任务,支持守护

主要原理是通过PHP创建多个子进程,在子进程中发送进程闹钟信号,然后再监听闹钟信号中继续发送闹钟信号。同时通过父进程设置非阻塞运行。代码如下:<?php /**  * 订单任务  */ class Order {    &n...

cookie跨域,cookie p3p跨域

cookie跨域,cookie p3p跨域

最近在公司开发一个新的项目假设项目域名是a.com,需要接入b.com的单点登陆系统。(1).首先我们会在a.com的登陆页面用iframe引入b.com来显示登陆界面,实际上登陆验证操作都是在b.com上面(2).当b.com验证通过,会在前端ajax请求a.com的回调地址,这个回调地址目的就是...