最新消息:

PHP性能优化干货

PHP guangzhouzhongxing 66浏览 0评论

PHP并非想大家所说且所想的那么简单的一门编程语言,简单说,PHP门槛是低,学习入门更是简单,这也是PHP精髓的东西,好学!=简单。有的人拿一本书按照例子把一个功能呢敲出来了,就以为真的能把这个能力了解透了,并非如此,但只要你多花的时间和精力去学习和思考,我相信,再一段时间地努力后,你肯定成为这个专业中的高手。其实这篇心得并非本人完全自己去思考而写的,只是看到一些不同观点的地方而改变的,下面我们来介绍一下如何从PHP新手去学习、学好、学精。

PHP性能优化干货一、心态

我说了php入门很容易,不错,但我不说php它很容易,php应用起来博大精深,如果你说做php很简单,那么我只能说你懂php懂得比较简单吧.在大学读书的时候大家一定要心态摆正,比如你想学什么语言,以后要做什么程序员,比如java,C++。

PHP并非想大家所说且所想的那么简单的一门编程语言,简单说,PHP门槛是低,学习入门更是简单,这也是PHP精髓的东西,好学!=简单。有的人拿一本书按照例子把一个功能呢敲出来了,就以为真的能把这个能力了解透了,并非如此,但只要你多花的时间和精力去学习和思考,我相信,再一段时间地努力后,你肯定成为这个专业中的高手。

二、一套烂熟于心的问题解决思路

PHP性能优化干货曾经有位程序开发的同事在QQ签名中写到:每解决一个bug,就给自己一个提升。的确,没有真正解决过无数的bug或问题的程序员,谈不上专家,谈不上高级程序员。而一个高级程序员正是从这种解决问题的过程中不断地历练自己,形成一套烂熟于心的问题解决思路,让自己强大的。

我也简单说说PHP程序员成长过程中经常遇到的一些问题,如果你一个也没遇到或很少遇到,那么您就是两个极端的人:要么初级入门,要么高级了,哈哈。

1、编码问题。

2、PHP和SQL数据库执行效率问题。

3、Session和Cookie域和加密解析问题。

4、程序的执行顺序问题。

5、程序编写的多环境适用问题。

6、分类的构建和结构设计问题。

7、字符串处理问题:正则表达式处理或简单PHP字符串处理函数来处理。

8、各种模板引擎的编写局限性问题。

9、PHP和web端数据交互问题(如ajax,接口调用等)。

三、PHP性能优化

PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置。

# vi /etc/php.ini

PHP函数禁用找到:

disable_functions = 该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如果允许这些函数执行,当PHP程序出现漏洞时,损失是非常严重的!以下我们给出推荐的禁用函数设置:

disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status

需注意:如果您的服务器中含有一些系统状态检测的PHP程序,则不要禁用shell_exec,proc_open,proc_get_status等函数。

Session存储介质找到:

session.save_path

如果你的PHP程序使用Session对话,则可以将Session存储位置设置为/dev/shm,/dev/shm是Linux系统独有的TMPFS文件系统,是以内存为主要存储方式的文件系统,比RAMDISK更优秀,因为可以使用DISKSWAP作为补充,而且是系统自带的功能模块,不需要另行配置。想想看,从磁盘IO操作到内存操作,速度会快多少?只是需要注意,存储在/dev/shm的数据,在服务器重启后会全部丢失。不过这对于Session来说是无足轻重的。

PHP性能优化干货除此之外,用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 PS:在单引号中,PHP不会自动搜寻变量、转义字符等,因此效率上快很多。而一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。

由于水平有限,有些还是不太明白为什么。如果有更好建议的欢迎随时补充!

转载请注明:PHP学习 » PHP性能优化干货

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址