php程序提速原理分析
南三方
缓冲层级别的优化
xCache是把 PHP 操作码缓存到内存中的 PHP 扩展中,XCache 将避免代价高昂且不必要的花费来重新编译相同的 PHP 代码去交付一个页面,这一点上和Accelerator有点相似,我一直认为他们的机理是一样的,不过xCahce是开源产品[opensource].
Zend Accelerator 站在解析和执行的中间,当页面第一次被请求时,Zend 引擎解析了它,而Accelerator 把解析的映象放入内存,然后执行并把信息发送给浏览器。 好像也叫Zend Cache。
Memcache 守护程序 (memcached) 是一种高性能分布式对象缓存。memcached 的安装位置介于应用程序与数据存储之间,它将把对象保存在 RAM 中。每次缓存命中将替换到数据库服务器的一次往返,使应用程序运行得更快。非常适合访问量大的网站使用。
APC 它对php opcode进行缓冲,而不是迫使php在每一次执行的时候都重新解释每一个脚本.
PHP执行代码会经过如下4个步骤(确切的来说,应该是PHP的语言引擎Zend)
1. Scanning(Lexing) ,将PHP代码转换为语言片段(Tokens)
2. Parsing, 将Tokens转换成简单而有意义的表达式
3. Compilation, 将表达式编译成Opocdes
4. Execution, 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。
题外话:现在有的Cache比如APC,可以使得PHP缓存住Opcodes,这样,每次有请求来临的时候,就不需要重复执行前面3步,从而能大幅的提高PHP的执行速度。
优化代码级别
Zend Optimizer就要对PHP 源码作相应的调整,比如去掉一些PHP注释,使得代码更容易编译。
编程时级别的优化
XDebug 是类似于软件 x 光照片的内容:它将深入应用程序,揭露内部工作原理,并且揭示代码如何度过其周期。拥有了 XDebug 度量之后 —— 而不是之前 —— 您可以优化代码来调整算法、减少瓶颈并减轻过多的内存使用。
相关文档:
PHP是个伟大的web开发语言,灵活的语言,但是看到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看看你犯了几种:
1.不转意html entities
一个基本的常识:所有不可信任的输入(特别是用户从form中提交的数据) ,输出之前都要转意。
echo $_GET['usenam ......
PHP提供两个方便我们引用数据的魔法引用函数magic_quotes_gpc和magic_quotes_runtime,这两个函数如果在php.ini设置为ON的时候,就会为我们引用的数据碰到单引号'和双引号"以及反斜线 \ 是自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行,可是我们在php不同的版本或者不同的服务器配置下,有的magic_quotes_g ......
初学php,需要搭建其开发环境。由于版本更替等原因,网上的方法几乎一人一个样,让人无所适从。昨天花了一晚上时间才在XP下配置好,现将其整理出来,希望能对别人有用。(2007-11-21)
一、 下载软件。
1. 下载apache_2.0.55-win32-x86-no_ssl.msi,右键用迅雷点击此处下载(直接点击不行)。
2. 下载php-5 ......
现存问题:
1.无法加载 mcrypt 扩展,请检查您的 PHP 配置。
按照网上说的该做的貌似都做了 但是第一次打开phpmyadmin主页时 还是有这个提示 奇怪的是进去之后 里面没有这个提示 然后退出外面也没了
2.配置文件现在需要一个短语密码。
网上找了 但是问题还是没解决
昨天问题全部解决
因为配置文件名称未改 正确的名 ......