很多站长朋友们都不太清楚php加速工具,今天小编就来给大家整理php加速工具,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php性能加速之opcache 2、 PHP如何加速到最快 3、 PHP has encountered an Access Violation at 01FF0AFD 4、 IIS中已安装了PHP,可以打开PHP和ASP,为什么 5、 php是什么? php性能加速之opcacheOPcache 是一个通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能的PHP扩展。 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展。
首先,我们来先大致了解下http-->nginx-->php-fpm-->php处理的流程机制
http request ---> nginx(代理)----> php-fpm(master 进程,分配)----> php-fpm(worker处理 ) ---->php-cgi(1.启动ZEND引擎,加载配置,载入module,2.初始化php脚本进行词法分析,语法分析,生成语法树,3.ZEND引擎编译语法树,生成可执行字节码。4.执行字节码,返回处理结果)
opcache 就缓存了php脚本预编译的字节码避免每次处理请求都重复执行(php-cgi处理的1,2,3)步骤,这样可以使得php性能大大提高。
php.ini
1.重启php-fpm
2.打印phpinfo(),看到有ZEND OPcache就证明已经开启成功了
PHP如何加速到最快网站的速度 一般 是从架构 , 数据库, php代码方面优化的。
而php本身没什么优化的,只要按照php的编码 规范来写就ok了;
还有就是做好缓存;
另外就是注意 sql 语句里面的一些 小细节了,原则是:最先出现的条件,一定是过滤和排除掉更多结果的条件;第二出现的次之;以此类推。
例如 有个这样的表
字段a 字段b 字段c
1 7 11
2 8 10
3 9 13
1,SELECT * FROM table WHERE a>’0’ AND b<’1’ ORDER BY c LIMIT 10;
2,SELECT * FROM table WHERE b<’1’ AND a>’0’ ORDER BY c LIMIT 10;
1 和 2 结果是相同的但是 查询速度就大不相同,由于 表中 b 字段的数据 大部分 都是大于 1的 所以马上可以过滤 大部分 数据 ,所以 2 比较好些
PHP has encountered an Access Violation at 01FF0AFD这个问题不是很好处理,困惑了很多站长非常时间了
主要出现在windows主机的服务器上。
在php官方,
也能够查到两三千页的报告,他们官方也是束手无策,经过了11个小版本后,还是没有彻底解决
;search_for=PHP+has+encountered+an+Accessx=8y=9
目前我提供一下这几年我维护经验,我的一些民间解决办法
第一种可能:
去掉 php中 eaccelerator 的扩展
这样做能够解决您的问题,不过可能会加重系统负担
因为eaccelerator主要是为了节省系统资源的东西
具体做法是找到php.ini
如果是我帮您配置的,一般在c:/php/php.ini或者 c:/winnt/php.ini 或者c:/windows/php.ini
去掉
zend_extension_ts="C:\php\extensions\eaccelerator_win_xxx.dll"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="c:\temp"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
ea主要是在unix环境下开发的,但是作者忽略到windows实际上不像u主机那样,是没有u主机的那种内存共享机制的
这个bug已经提交给他们了,希望0.9.5能够解决
当然,如果您的机器这个问题不严重,建议还是保留,ea是一块非常优秀的Php缓存+加速软件
配合zo使用,将会降低系统负担 50%-80%左右,提高负载能力、速度和效率 200%左右
第二种可能
session_save_path 需要设定一个实际的物理路径,并且该目录需要everyone的所有权限,类似U主机的0777
第三种可能
c:/winnt/temp 或者 c:/windows/temp
也需要everyone的所有权限,类似U主机的0777
第四种可能
您的内存严重不足,查看一下,如果有问题,请加内存,最好是一次加两条
比如加1G内存,最好是加2条一模一样的512M。否则没有启用双通道,效果也很一般
第五种可能
ZendOptimizer和php的搭配不是很好
换个版本试试看
目前比较稳定的搭配是
php4.3.11+zo 2.5.10a
或者php4.4.1+zo 3.0 beta2
第六种可能
这种多属于用win2003的用户
他们在应用池中设定了限制
比如多长时间回收,最大使用内存多少等等
这些设置势必造成这个经典的php错误
木头经过数以百计的测试,敢担保问题会出现在这里。
IIS中已安装了PHP,可以打开PHP和ASP,为什么PHP我就就是按下面那个优化的,感觉没什么问题呃,不知道具体原因什么方法都有可能,不能说是垃圾的,再说人家也问了不只一个问题的嘛,谁都不能保证对错,妄加评论别人总是不太好的,至少出力了,复制个网址跟复制内容本身是一样样的,都为lz想办法了啊,希望能互相体谅,鄙视一词用出来是很伤人的、、、
可以打开ASP的
因为WINDOWS 2003 的 IIS 6.0 默认是没有安装开启对ASP的支持 这要我们手动去配置 这一步很简单 PHP我就就是按下面那个优化的,感觉没什么问题呃,不知道具体原因什么方法都有可能
一 首先在控制面板里运行"添加删除程序" 选择安装IIS 6.0 安装后IIS 6.0就默认开启了对ASP的支持 如果发现未允许运行ASP 可按 A B C 步骤去开启
A:在开始菜单——》程序——》"管理工具"里打开 IIS 6.0 选择 “WEB 服务扩展”
B:点选 Active Server Pages 组件 和 远程管理 (HTML) 工具 “Active Server Pages ” 并设置为允许
C:再点选 “Internet 数据连接器” 同时设置为允许即可
二 在“默认网站属性”窗口上按 “主目录”标签 点“配置”按钮 在弹出的“应用程序配置”窗口中点取“选项”按钮 勾选“启用父路径” 确定 如图所示
附件内(IISIIS2)
三 配置 WINDOWS 2003 IIS 6.0 的 PHP环境
很多朋友都提到过 WINDOWS 2003 IIS 6.0 按照网上提供的方法 无论怎么配置都不成功 搜索了一下 看到到处都是同一个版本的翻版转载 果然是不能成功
现在叙述一下本站在WINDOWS 2003 IIS 6.0 中是如何配置 PHP环境的
让 IIS6.0 支持 PHP -=> php4.3.9 的安装配置
不建议使用安装版 这里选用了 php4.3.9 的解压版
第一步 解开php-4.3.9-Win32.zip压缩包 你可以把它放在C:PHP下面
第二步 把 C:PHP下面的 php.ini-dist 文件复制到C:WINDOWS目录下 并改名成php.ini 根据不同情况你可以自行修改某些参数 首先 我们需要告知PHP在何处可以找到其扩展功能模块文件 下面修改 C:windowsphp.ini 文件 需要注意的如下
查找 extension_dir 字串 修改为你 PHP 目录里 extensions 的路径:
; Directory in which the loadable extensions (modules) reside
extension_dir = "C:PHP"
如上 设为PHP文件的所在目录即可 本例中可以设为“extension_dir=C:php”
第三步 把 C:phpphp4ts.dll 复制到 C:windowssystem32目录下
第四步 控制面版——》管理工具——》Internet服务管理器——》点选“Web 服务扩展”——》在右边窗口点击“添加一个新的 Web 服务扩展”——》扩展名为 “PHP”——》再点击“添加”——》在出现的窗口里填上“C:PHPsapiphp4isapi.dll” 并确定 然后再点选 Web 服务扩展 PHP 并选择允许 如图所示(附件:IIS3-IIS6)
第五步 在“默认网站属性”窗口上按 “主目录”标签 点“配置”按钮 在弹出的“映谢”窗口中点取“添加”按钮,在弹出的“添加/编辑应用程序扩展名映像”对话框中的“可执行文件”文本框中输入“c:PHPsapiphp4isapi.dll” “扩展名”文本框中输入“.php”(注意一定要有那个点) 并勾选 "检查文件是否存在"项 如图所示(附件:IIS7-IIS9)
第六步 在“默认Web站点属性”窗口上点取“ISAPI筛选器”标签,点击“添加”按钮,在弹出的“筛选器属性”窗口的“筛选器名称”中输入“PHP” “可执行文件”中浏览选定“c:PHPsapiphp4isapi.dll” 然后确定 如图所示
A:先停止 IIS 6.0的运行 再重新启动IIS 6.0 意在开始对 PHP 加载 见图
B:在“默认Web站点属性”窗口上点取“ISAPI筛选器”标签 如果看到 PHP 的箭头绿色且向上 证明 PHP 已经被 IIS 6.0 顺利加载起来了 见图(附件:IIS10)
第七步 在“默认网站属性”窗口上按 “主目录”标签 修改 如果在IIS6.0里对PHP配置为CGI运行模式 即全部加载PHP.exe 执行权限 为“脚本和可执行文件” 反之 运行在ISAPI模式下 即全部加载PHP4isapi.dll 则保持默认的"纯脚本"即可 这样可进一步加强系统的安全性 应用程序池 为 “ DefaultAppPool” 确定即可 如图所示(附件:IIS11)
到了这一步 对配置PHP环境就算完成了
第八步 测试
配置完成后 如果想测试 PHP 是否已经安装成功 可以在空间里根目录下建立一个文件 如 test.php 然后写入下面的语句
<?
phpinfo();
?>
保存后 用IE访问这个文件
如果能见到这熟悉的页面 对配置PHP环境就真正成功了
当然 你也可以配置成 PHP运行在CGI模式
具体方法就是把原来设置的路径“ c:PHPsapiphp4isapi.dll ” 改为 “ c:phpphp.exe “%s” %s ” 然后把 “ 检查文件是否存在 ” 取消 然后确定 基本设置完成
最后测试......
<?
phpinfo();
?>
如果出现 CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers...
这是代表php是以CGI模试运行的 在php.ini找到 gi.force_redirect 把前面的分号去掉 把值改成0就行了
再次运行 成功了吧 这是PHP另一种运行模式的配置方法
第九步 PHP 优化配置之一
让论坛速度更快 PHP加速设置 PHP加速:Turck MMcache部署实现
Turck MMCache v2.4.7 for PHP v4.3.9
简介说明:
把mmcache.dll文件放在php的extensions目录里面
然后修改php.ini文件:
查找
;extension=php_zip.dll
在这一句后面加入:
zend_extension_ts="c:phpextensionsmmcache.dll"
mmcache.shm_size="64"
mmcache.cache_dir="c:temp"
mmcache.enable="1"
mmcache.optimizer="1"
mmcache.check_mtime="1"
mmcache.debug="0"
mmcache.filter=""
mmcache.shm_max="0"
mmcache.shm_ttl="0"
mmcache.shm_prune_period="0"
mmcache.shm_only="0"
mmcache.compress="1"
重启apache或者IIS就可以了 如果加上Zend Optimizer,就属于比较完美的php加速方案了 建议考虑加入这个支持 用空间(cache缓存的空间 如上述配置的目录 mmcache.cache_dir="c:temp" 里面就会产生缓存文件)换取速度
特别说明 :
1、如果您的系统已经装了ZEND加速器,那么上述配置在PHP.INI中必须放在ZEND的前面,否则Apache不能启动;
2、mmcache.shm_size="64",这里的64是加速系统使用做CACHE的内存,默认是16M;根据您系统内存调整;
3、mmcache.cache_dir="/tmp",这个是加速器工作时候产生临时文件的目录,请在C盘下建立一个 TEMP 文件夹以存放缓存文件 如果安装时候默认目录空间小了建议调整;不过就昨晚安装测试到现在,这个目录产生的文件也不多,如果访问量大的网站自己多监测几天看看。
4、上述配置功能的详细说明请参考:
效果:现在系统同时有ZEND与MMcache加速器,PHP执行速度比原来是要快一些;ZEND优化已经开到最大;在系统上感觉最明显的就是BBS,以及软件下载后台程序输出HTML静态页面速度非常快,而仅有ZEND的时候有些停顿。
第十步 PHP 优化配置之二
让论坛速度更快 PHP加速设置 PHP加速:Zend Optimizer优化PHP程序
Zend Optimizer V2.5.5 For Windows
软件大小:2941 KB
软件语言:英文
运行环境:Win9x/NT/2000/XP
Zend Optimizer V2.5.5 For Windows软件介绍:
Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时间,也就是从访问者点击链接到服务器开始读取页面之间的时间。
安装Zend Optimizer优化PHP程序
Zend Optimizer是由PHP核心引擎“Zend” 创建者Zend技术公司所开的免费PHP优化软件。据Zend公司透露使用这个软件某些情况下至少可以提高性能30%以上!现在我们来看看如何配置这套软件。
Zend Optimizer的安装很简单
1、运行安装文件,首先提示你选择安装目录,选择一个你喜欢的目录,单击“Next”。
2、安装向导会要求你选择当前使用的WEB服务器(Apache、IIS或其它),选择好服务器后单击“Next”
3、安装向导提示您确认php.ini的位置(默认是C:WINDOWS)单击“Next”,提示“备份php.ini到C:WINDOWSphp.ini-Optimizer-bak,当卸载该软件时可以恢复到原始的php.ini)单击“Next”。
4、安装向导提示“为了继续安装程序需要重新启动IIS服务)单击“是”,安装程序开始重新启动IIS服务,然后安装程序会提示“IIS服务顺利重新启动了”单击“确定”,再单击“finish”完成安装。
5、安装完毕后程序会自动根据你的选择来修改php.ini帮助你启动这个引擎。下面我们来介绍Zend Optimizer的配置选项,帮助你最大化自定义合理的配置。
[Zend]
zend_optimizer.optimization_level=15
zend_extension_ts="C:Program FilesZendlibZendExtensionManager.dll"
zend_extension_manager.optimizer_ts="C:Program FilesZendlibOptimizer-2.5.5"
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
[Zend]
zend_optimizer.optimization_level=1023
zend_optimizer.encoder_loader=0
zend_extension_ts="C:Program FilesZendlibZendOptimizer.dll"
(网上资料中所看到的内容,也许是版本不同造成的内容有差异)
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
现在我们来介绍上边这些配置文件中相关内容的含义:
zend_optimizer.optimization_level 《== 优化程度,这里定义启动多少个优化过程。
zend_optimizer.encoder_loader 《== 是否允许处理由Zend Encoder加密的PHP文件。
zend_extension_ts 《== 优化器所在目录。
zend_extension_manager.optimizer_ts 《== 优化器管理所在目录。
优化过程 zend_optimizer.optimization_level 详细解释
这里最为重点的部分,仔细看!Zend Opt总共有10个优化过程,从理论上说开的越多性能越好。当然,理论和实际永远都存在着差距。优化过程开启的越多对性能消耗也相对也越大,Zend Opt的10个优化过程并不相同也就是说效果不是平均的。Zend公司定义的最高值(High模式)为15,这里15指的是开启1-4号优化过程。当然,很多朋友并不满足于此,毕竟最高也只开启4个优化过程连总数的一半都没有。各个优化过程的对应的数字代码(值)如下:
不使用 0 <= 如果这样不如不装,还能节约点内存说!
优化过程1(PASS1) 1
优化过程2(PASS2) 2
优化过程3(PASS3) 4
优化过程4(PASS4) 8
优化过程5(PASS5) 16
优化过程6(PASS6) 32
优化过程7(PASS7) 64
优化过程8(PASS8) 128
优化过程9(PASS9) 256
优化过程10(PASS10) 512
以何种方式开启优化过程是通过这些数字代码(值)相加所得的和作为此参数的参数值来控制的。如我的配置文件中zend_optimizer.optimization_level = 1023 , 这里的1023是优化过程1到优化过程10全部数字代码(值)相加得到的和,表示开启全部10个优化过程。刚才所提到的Zend公司定义的High模式值为15,15表示同时开启优化过程1-4。
加密代码支持 zend_optimizer.encoder_loader 详细解释
对于这个参数,我想如果没有看过Zend Opt FAQ文档的朋友大多数并不知道。这个参数用来告诉Zend Opt是否去支持被Zend Encoder加密过的代码。默认情况下Zend Opt将支持加密过的代码。如果不使用被加密过的代码我推荐你关闭此选项。这个功能牵扯到解包反码的过程,会导致系统负荷的加重。我的朋友已经开发完毕相应的反编译工具,预计春节之后推出。
这个参数的值只有两个 0 关闭, 1 开启。默认为1,推荐设置为0。
模块定位 zend_extension_ts 、zend_extension_manager.optimizer_ts无需解释,这些参数就是Zend Optimizer相关模块在硬盘上的安装路径。
6、如何获知Zend Optimizer是否在运行?
答案很简单,只要用PHP的函数phpinfo()来检测便知,如下所示:
<?
phpinfo();
?>
显示的结果中关于Zend Optimizer的部分就象下面这样:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.3, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.3, Copyright (c) 1998-2004, by Zend Technologies
表示 Zend Optimizer for PHP优化成功了。
php是什么?PHP(PHP:Hypertext Prerocessor)是一种在电脑上执行的脚本语言,主要是用途在于处理动态网页,也包含了命令行执行接口(command line interface),或者产生图形使用者接口(GUI)程序。[1]
PHP 最早由 Rasmus Lerdorf 在1995年发明,现在PHP实质上的标准由PHP Group和开放源代码社群维护。PHP 以 PHP License 作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不相容。[2]
PHP 目前被广泛的应用,特别是在服务器端的网页程序开发。一般来说 PHP 大多执行在网页服务器上,透过执行PHP程序码来产生使用者浏览的网页。PHP 几乎可以在任何的操作系统上执行,而且使用 PHP 完全是免费的。根据2007年4月的统计资料,PHP 已经被安装在超过2000万个网站和100万台服务器上[3]。
目录 [隐藏]
1 开发历史
1.1 版本历程
2 应用
3 语法
3.1 类型
3.2 变量
3.3 面向对象
4 PHP相关资源
4.1 函数库
4.2 源代码编码和加速
4.3 样板引擎
5 未来发展
5.1 PHP 5.3
6 参考资料
7 外部链接
[编辑] 开发历史
PHP 的发明人 Rasmus Lerdorf
Zend Technologies的创办人之一 - Andi GutmansFile:Zeev Suraski.jpg
Zend Technologies的创办人之一 - Zeev SuraskiPHP 原本的简称为 Personal Home Page[4],是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量[5]。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开释出,希望可以透过社群来加速程序开发与寻找错误[6]。这个释出的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。[5]
在1997年,任职于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础,而 PHP 也在这个时候改称为PHP: Hypertext Preprocessor.[5]。经过几个月测试,开发团队在1997年11月释出了 PHP/FI 2,随后就开始 PHP 3 的开放测试,最后在1998年6月正式释出 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 释出后开始改写 PHP 的核心,这个在1999年释出的剖析器称为 Zend Engine[7],他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。[5]
在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式释出,2004年7月13日则释出了PHP 5,PHP 5则使用了第二代的Zend Engine[5]。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强[8]。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。[9][10]
2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化[11][12] 。PHP 6 的开发也正在进行中,主要的改进有移除register_globals[13]、magic quotes 和 Safe mode的功能。[9][14]
[编辑] 版本历程
代表意义
红色 旧版;官方停止支持
黄色 旧版;官方维护中
绿色 目前版本
蓝色 未来版本
主要版本 次要版本 释出日期 说明
1.0 1.0.0 1995年6月8日 正式名称为"Personal Home Page Tools (PHP Tools)",第一次使用了"PHP"的名字。[5]
2.0 2.0.0 1994年4月16日 针对PHP 1.0的改进版,速度更快、体积更小,更容易产生动态网页。[5]
3.0 3.0.0 1998年6月6日 开发方式改成多人共同参与。Zeev Suraski 和 Andi Gutmans 为了这个版本重写了剖析引擎。[5]
4.0 4.0.0 2000年5月22日 改成以Zend引擎作为剖析器,具有两阶段剖析/标签剖析系统等先进功能。[15]
4.1.0 2001年12月10日 加入"超全域变量"(superglobals)功能,包含了$_GET、$_POST、 $_SESSION等[15]
4.2.0 2002年4月22日 默认取消register_globals功能。从网络接收的资料将不会设定成全域变量,增加程序安全性[15]。
4.3.0 2002年12月27日 加入命令行执行档,称为CLI。[15]
4.4.0 2005年7月11日 Added man pages for phpize and php-config scripts.[15]
4.4.8 2008年1月3日 Several security enhancements and bug fixes. Was to be the end of life release for PHP 4. Security updates only until 2008-08-08, if necessary.[16]
4.4.9 2008年8月7日 More security enhancements and bug fixes. The last release of the PHP 4.4 series.[17][18]
5.0 5.0.0 2004年7月13日 Zend Engine II with a new object model.[19]
5.1.0 2005年11月24日 Performance improvements with introduction of compiler variables in re-engineered PHP Engine.[19]
5.2.0 2006年11月2日 Enabled the filter extension by default.[19]
5.2.8 2008年12月8日[20] emergent bug fix[20]
5.2.9 2009年2月26日[21] 这个版本解决了5.2.*的超过了50多个错误和多个安全问题,增加了稳定性。[21]
5.2.9-2(Windows) 2009年3月10日[22] 这个版本解决了在Windows系统下OpenSSL的安全缺陷,与其绑定的OpenSSL版本升级到0.9.8k。[22]
5.3.0 预计2009年第二季[23] 支持命名空间; 使用XMLReader和XMLWriter增强XML支持; 支持SOAP ,[24] 延迟静态绑定, 跳转标签(有限的 goto), 闭包,Native PHP archives
6.0 6.0.0 ??? 支持Unicode; 移除ereg扩展, 'register_globals', 'magic_quotes' 和 'safe_mode'; Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() for better MIME support[25]
[编辑] 应用
PHP 是一个应用范围很广的语言,特别是在网络程序开发方面。一般来说 PHP 大多在服务器端执行,透过执行 PHP 的程序码来产生网页提供浏览器读取,此外也可以用来开发命令行脚本程序和使用者端的GUI应用程序。PHP可以在许多的不同种的服务器、操作系统、平台上执行,也可以和许多数据库系统结合。使用 PHP 不需要任何费用,官方组织 PHP Group 提供了完整的程序源代码,允许使用者修改、编译、扩充来使用。[26]
[编辑] 语法
PHP的语法参考了Perl、C语言,而且可以整合在HTML之中,以下是一个简单的Hello World程序:
<?php
echo 'Hello World!';
?>
PHP剖析引擎只剖析<?php到?>之间的程序码,而不包含在<?php到?>之间的内容则会直接送出,所以可以用以下的方式来将PHP程序码嵌入在HTML之中:
<?php
//-PHP程式码
?>
html内容
<?php
//-PHP程式码
?>
但是在判断语句中的HTML代码并不会被直接送出:
<?php
if (false) {
?>
HTML Code
<?php
}
?>
PHP可以用三种注解的形式:C与C++所使用的“/*...*/”与“//”,和Perl的“#”。
[编辑] 类型
PHP主要有以下四种变量类型:
整数 (integer)
浮点数 (float)
布尔数 (boolean)
字串 (string)
两种复合类型:
阵列 (array)
物件 (object)
两种特殊类型
NULL
资源 (resource)[27]
[编辑] 变量
PHP中,变量以“$”后接变量名称来表示。变量名称区分大小写。有效的变量名称以字母或底线开头,后接任意数目的字母、数字或底线。[28]
[编辑] 面向对象
PHP从PHP 3开始有了基本的面向对象的特性,但直到PHP 5将面向对象部份重新改写之后,PHP的面向对象功能才比较完善。现在PHP可以说是一个有完整面向对象功能的语言。
[编辑] PHP相关资源
[编辑] 函数库
主条目:PHP函数库列表
内建多样化的函数是PHP主要的特点之一,这些开放程序码的函数提供了各种不同的功能,例如档案处理、FTP、字串处理、等等。这些函数的使用方法和C语言相近(例如printf),这也是PHP广为流行的原因之一。
除了内建的函数之外,PHP也提供了很多延伸函数库(extension),像是各种数据库连接函数、资料压缩函数、图形处理等等。有些延伸函数库需要从PECL(PHP Extension Community Library)取得。
[编辑] 源代码编码和加速
PHP源代码是可以直接读取的,即使放到服务器上执行也是一样。虽然让PHP多了弹性,但相对的会造成安全危机和性能下降的问题。
透过PHP编码器,可以保护PHP的源代码不被读取(对商业软件来说特别有需求),也可以提升执行的效能。有许多公司或团体开发PHP的编码器,将PHP程序编译成字节码(byte code),再透过服务器上安装对应的程序来执行PHP脚本。
除了透过编码器加速之外,PHP还可以透过动态的快取机制来提升速度,加速工具有商业版的,例如Zend Platform,也有开放源代码的加速软件如eAccelerator、APC、XCache。
[编辑] 样板引擎
样板引擎让PHP应用程序可以做逻辑和使用接口上的分离,让程序开发更容易进行,目前比较受欢迎的样板引擎是PHP官方开发的Smarty。不过样板引擎有效能上的争议,因为PHP本身就是一个样板引擎,使用样板引擎反而变成“重新发明了轮子”(reinventing the wheel)。样板引擎最主要的好处就是让不懂PHP程序码的人也可以参与使用接口的开发,因为样板引擎的语言远比PHP简单。
[编辑] 未来发展
[编辑] PHP 5.3
命名空间(namespaces)原本预计在PHP 6提供支持,现在可能改至PHP 5.3就支持[29
关于php加速工具的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php加速工具 php加速器有哪些的详细内容...