PHP性能优化总结

1、 对许多代码文件说,特别是含有很多包含文件(include or require)。它们需要花费更多的时间和解析并产生中间代码。 2、 即使PHP代码文件没有发生改变,这个执行过程还会严格的按照流程执行。也就是说,无论你的应该程序是否发生改变,每次调用的时候,都需要重新编译生成opcode码。(其实这就是编译缓存存在的理由) 3、 这个流程不仅仅发生在主要的代码文件,对于每一次的include和require来说,都会执行这个流程。(这是可以继续优化的) 那些地方可以优化呢? 1、将mod_php fast-cgi化,避免每次都要加载这个模块,这个模块还要每次都去初始化php的解释环境。 2、缓存php文件的opcode码,这样话,避免每次都去编译。 APC可用用来实现第2点。编译缓存去掉了执行PHP过程中的解析过程,所以它对含有大量PHP代码的应用程序是非常有效的。通常情况下可以提升2-3倍以上的速度。对于包含大量include文件的项目,编译缓存更现实出它的优越性。 注:include并不会被编译缓存进行缓存。比如现在有两个文件:main.php 和tobeInclude.php,其中main.php中有这样的语句include tobeInclude.php’。假设中间码的后缀为.op(实际上不是这样)。那么加上缓存cache后 [...]

PHP APC的安装与高级使用

APC Cache PHP语言是一个功能强大的嵌入式HTML脚本语言,很多程序员都在使用这一语言来进行网站的创建。PHP APC,全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”,但我个人觉得应该叫”另一个PHP缓存”。因为这个东西如果叫”可选PHP缓存”,容易给人一种可要可不要的,不怎么有用的错觉。 APC的主页是:http://pecl.php.net/package/apc. 目前的版本是3.0.14,通过PECL安装,需要php4.3.0或更高版本. PHP APC的安装: 一般是下载源代码然后phpize来编译安装,安装完以后在加上php.ini里加上 extension=apc.so 这么一行就行了. PHP APC的使用: APC的使用其实倒说不上.APC是个优化器,自安装之日起,就默默地在后台为您的PHP应用服务了.您的所有PHP代码会被缓存起来. [...]

隐藏nginx+php(fastcgi)生产环境下nginx及php的版本信息

Nginx默认是显示其版本号的,如: [root@utoec ~]# curl -I www.nginx.net HTTP/1.1 302 Moved Temporarily Server: nginx/0.8.51 Date: Wed, 13 Oct [...]