php55
Ⅰ php 5.3 跟 5.2 有哪些差别
首先你要区分一下,php5.2和5.3的不同,php5.3的一些语法修改较大,非常不同,也就是5.2的一些程序能运行,有可能到了5.3就不能运行了。而php5.3下的程序可能在5.2下也不能运行。
现在最新的版本是5.5,一般用新不用旧的原则。
Ⅱ PHP5的语言简介
PHP是“PHP:Hypertext Preprocessor”的缩写,即“超文本预处理器”。PHP是一种功能强大,并且简便易用的脚本语言。 PHP是一种简单、轻便的服务器端脚本语言。PHP最初是作为一个快速、实用的工具包出现的。1994年,为了在自己的网站上增加一个小巧而实用的访客追踪系统,Rasmus Lerdorf编写了PHP的雏形程序。这是一个用Perl封装的简单工具。由于使用效果并不理想,Rasmus又用C语言重写了这个工具。
后来,更多的人注意到这个轻巧而简便的程序,并且要求增加更多的功能。Rasmus决定发布一个完整的版本,将其命名为Personal Home Page Tools。后来,Rasmus又发布了一个名为FI的可以做SQL查询的工具。 1998年末,PHP3的第一个官方正式版本发行,其特色是具有更好的执行效果以及更清晰的结构。除此之外,PHP3的强大的功能还在于它的可扩展性。除了给最终用户提供数据库、协议和API的基础结构,它的可扩展性吸引了大量的开发人员加入并提交新的模块。
这个全新的语言伴随着一个新的名称发布。这个名称更具广泛意义,而不仅局限于“个人主页工具”的概念。它被命名为简单的缩写“PHP”。这是一种递归的缩写,它的全称是——PHP:Hypertext Preprocessor。
不久,Zeev Suraski和Andi Gutmans投入到了全新的PHP的开发之中。设计目标是增强程序运行性能和PHP自身代码的模块性。 新的PHP核心被成为“Zend”(以Zeev和Andi的名字命名)引擎,于2000年5月随着新版PHP4.0发布。PHP4的性能较PHP3有着显着的提高。相同的脚本在PHP4中运行,最高可以有近10倍的性能提升。并且Zend提供了的脚本优化器,可以把源程序转为二进制编译代码,提高性能的同时,也保护了程序源码不被暴露。
在PHP4中增加了对各种Web服务器(如Apache、IIS/PWS及OmniHTTPd等)的支持。此外,PHP4还增加了一些新的语言特性,如丰富的数组操作函数、完整的会话机制、对输出缓存的支持等。PHP4也对一些跨平台的技术提供了扩展支持,如对Adobe PDF、SWF、Java、Microsoft . NET等技术的支持。
PHP4还增加了对类与对象的支持。尽管PHP4在这方面并不完善,但还是大大改善了对面向对象程序设计的支持。PHP4中的Pear库(PHP Extension and Application Repository)就是面向对象的应用与实践的最好例证。 尽管PHP4的发展是如此迅猛,但较之于其他流行的开发语言还是缺乏一些关键的功能特性,比如,PHP4中的面向对象功能并不完善,也无法实现异常(Exception)的捕捉与处理。因此在一些特殊问题的处理上还是捉襟见肘的。
2004年7月,PHP5正式版本的发布,标志着一个全新的PHP时代的到来。它的核心是第二代Zend引擎,并引入了对全新的PECL模块的支持。PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。另外,在对象的集成等方面也不再存在问题。使用PHP5引进了类型提示和异常处理机制,能更有效的处理和避免错误的发生。
在不断更新的同时,PHP5依然保留对旧有的PHP4程序可以运行于PHP5的平台上而不会出现较大问题。随着MySQL数据库的发展,PHP5还绑定了新的MySQLi扩展模块,它提供了一些更加有效的方法和实用工具用于处理数据库操作。这些方法大都以面向对象的方式实现,同时也极大地提高了基于数据库的Web项目的执行速度。
另外,PHP5中还改进了创建动态图片的功能,能够支持多种图片格式(如PNG、GIF、TTIF、JPGE等)。PHP5以及内置了对GD2库的支持,因此安装GD2库(主要指UNIX系统中)也不再是件难事,这使得处理图像十分简单和高效。
大多数Web程序开发者依然将XML作为一个彻底的简单数据库使用。PHP5中也采用了一系列简单易用、功能强大的方法处理XML文档。
今天,已经有包括雅虎和亚马逊等在内的数百万网站,以及众多的开发人员和编程爱好者正在使用PHP。从最初的PHP/FI到PHP5,PHP的发展是及其迅猛的,其未来的发展前景也必定令人瞩目。
Ⅲ PHP的PHP5
PHP5在长时间的开发及多个预发布版本后,2004年7月13日,PHP5.0发布。该版本以Zend引擎Ⅱ为引擎,并且加入了新功能如PHP Data Objects(PDO)。PHP5.0版本强化更多的功能。首先,完全实现面向对象,提供名为PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了XMLWeb服务支持,而且标准支持SOAP扩展模块。数据库方面,PHP新版本提供旨在访问MySQL的新界面——MySQL。除此前的界面外,还可以使用面向对象界面和预处理语句(Prepared Statement)等MySQL的新功能.另外,PHP5.0上还捆绑有小容量RDBMS-SQLite. *构造函数和析构函数 * 对象的引用 * 对象的克隆 * 对象中的私有、公共及受保护模式 * 接口 (Interfaces)
* 抽象类 * __call * __set 和 __get * 静态成员
构造函数和析构函数
在 PHP4 中,当函数与对象同名时,这个函数将成为该对象的构造函数,并且在 PHP4 中没有析构函数的概念。
在 PHP5 中,构造函数被统一命名为 __construct,并且引入了析构函数的概念,被统一命名为 __destruct。
对象的引用
在PHP4中,传递变量给一个函数或方法,实际是把这个变量做了一次复制,也就意味着你传给函数或方法的是这个变量的一个副本,除非你使用了引用符号“&;” 来声明是要做一个引用,而不是一个 Copy。在 PHP5中,对象总是以引用的形式存在的,对象中的赋值操作同样也都是一个引用操作。
对象的克隆
当一个对象始终以引用的形式来被调用时,如果我想得到该对象的一个副本,该怎么办呢?PHP5 提供了一个新的功能,就是对象的克隆,语法为 __clone。
抽象类
抽象类不能被实例化。
抽象类与其它类一样,允许定义变量及方法。
抽象类同样可以定义一个抽象的方法,抽象类的方法不会被执行,不过将有可能会在其派生类中执行。
__call
PHP5 的对象新增了一个专用方法 __call(),这个方法用来监视一个对象中的其它方法。如果你试着调用一个对象中不存在的方法,__call 方法将会被自动调用。
__set 和 __get
这是一个很棒的方法,__set 和 __get 方法可以用来捕获一个对象中不存在的变量和方法。
类型指示
在 PHP5 中,你可以在对象的方法中指明其参数必须为另一个对象的实例。
静态成员
静态成员和静态方法在面象对象编程的术语中被称作 “类方法(class methods)” 和 “类变量(class variables)”。
“类方法” 在一个对象没有实例化前允许被调用。同样,“类变量” 在一个对象没有实例化前可以被独立操作控制(不需要用一个对象的方法来控制)。 异常处理是公认的处理程序错误的理想方法,在 Java及 C 中都有这个概念,我们欣喜的看到,在 PHP5 已经加入了这方面的应用。你可以尝试使用 “try” 和 “catch” 来控制程序的错误。当有错误发生的时候,代码会把错误交给 “catch” 子句来处理,在 “catch” 子句中,你需要指明要把错误交给某个对象处理,这样做可以使代码结构看起来更清晰,因为我们可以把所有的错误信息交给一个对象来处理。
自定义错误处理
你可以很方便的用自定义的处理错误的代码来控制你的程序中的意外。你仅仅需要从异常类中派生出一个自己的错误控制类,在你自己的错误控制类中,你需要有一个构造函数和一个 getMessage 方法。 名称空间对类的分组或函数分组很有用。它可以把一些相关的类或函数给组合到一起,方便以后调用。
例:名称空间 <?phpnamespacemy
ame;//参考定义命名空间小节classMyClass{}functionmyfunction(){}constMYCONST=1;$a=newMyClass;$c=newmy
ameMyClass;//参考全局空间小节$a=strlen('hi');//参考使用命名空间:后备全局函数/常量小节$d=namespaceMYCONST;//参考namespace操作符和__NAMESPACE__常量”小节$d=__NAMESPACE__.'MYCONST';echoconstant($d);//参考命名空间和动态语言特征小节?>注意你需要在何种情况下使用名称空间,在实际运用中,你可能会需要声明两个或多个名称一样的对象来做不同的事情,那么你就可以把他们分别放到不同的名称空间中去(但接口是要相同的)。 从PHP5.3开始支持ZendGuard加密方式,必须安装Zend Guard Loader,老的zend optimizer将不被支持。
Linux安装Zend Guard Loader支持的过程:
操作系统为CentOS5.5,PHP版本为5.3.8(CentOS5.5中的PHP默认版本较低,如果要升级到PHP最新版,可以使用remi的report源进行升级)。
Windows 下面的 Zend Guard Loader 不支持php5.3.8 VC9 x86 Thread Safe而,php5.3.8 VC9 x86 Non Thread Safe 又不支持 apache。所以安装的话,就需要安装在iis或者和nginx搭配。
1、下载最新的Linux操作系统系下的Zend Guard Loader。
2、上传至Linux服务器并解压缩,注意阅读生成目录下的README文件。全文如下(添加必要的注释)。在/etc/php.d/目录下创建文件zend.ini,内容如下: zend_extension=/usr/lib64/php/moles/ZendGuardLoader.so注意路径一定要写上,刚开始没写路径,老是加载不上ZendGuardLoader .so,也可以直接将上面的配置写入/etc/php.ini文件中,效果一样。
3、重启httpd服务:service httpd restart。
4.输出<?php phpinfo(); ?>
PHP 5.5 正式版发布 不再支持 Windows XP
同时 PHP 开发者也提醒用户,PHP 5.5 也包含一些不向后兼容的内容,包括:不再支持 Windows XP 和 2003 系统;不区分大小写的匹配函数、类;常数名称跟 Locale 无关,这对一些使用非 ASCII 代码的常量名的开发者需要注意的。
Ⅳ php5怎么样
2004年7月,PHP5正式版本的发布,标志着一个全新的PHP时代的到来。它的核心是第二代Zend引擎,并引入了对全新的PECL模块的支持。PHP5的最大特点是引入了面向对象的全部机制,并且保留了向下的兼容性。程序员不必再编写缺乏功能性的类,并且能够以多种方法实现类的保护。另外,在对象的集成等方面也不再存在问题。使用PHP5引进了类型提示和异常处理机制,能更有效的处理和避免错误的发生。
在不断更新的同时,PHP5依然保留对旧有的PHP4程序可以运行于PHP5的平台
[PHP5]
PHP5
上而不会出现较大问题。随着MySQL数据库的发展,PHP5还绑定了新的MySQLi扩展模块,它提供了一些更加有效的方法和实用工具用于处理数据库操作。这些方法大都以面向对象的方式实现,同时也极大地提高了基于数据库的Web项目的执行速度。
另外,PHP5中还改进了创建动态图片的功能,目前能够支持多种图片格式(如PNG、GIF、TTIF、JPGE等)。PHP5以及内置了对GD2库的支持,因此安装GD2库(主要指UNIX系统中)也不再是件难事,这使得处理图像十分简单和高效。
大多数Web程序开发者依然将XML作为一个彻底的简单数据库使用。PHP5中也采用了一系列简单易用、功能强大的方法处理XML文档。
今天,已经有包括雅虎和亚马逊等在内的数百万网站,以及众多的开发人员和编程爱好者正在使用PHP。从最初的PHP/FI到现在的PHP5,PHP的发展是及其迅猛的,其未来的发展前景也必定令人瞩目。
Ⅳ php 5.3.5如何安装
从网站下载WINDOWS版本的php压缩包或安装包
(如果是安装包,可以直接安装,则以下操作基本上可以忽略。但为了更好的安全性,建议采用压缩包自己安装配置有关参数)
2. 将下载的php5.0压缩包解压到指定位置,如为C:\PHP5
3. 在c:\php5文件夹中,用记事本打开文件php.ini-dist,修改如下内容后“另存为...”php.ini文件
(1)查找到safe_mode = 段落,将safe_mode = Off修改为safe_mode = On
(2)查找到expose_php = On段落,将expose_php = On修改为expose_php = Off
(3)查找到display_errors = On段落,将display_errors = On修改为display_errors = Off
(4)查找到extension_dir = 段落,设置动态库扩展的路径,如extension_dir = c:\php5\ext
(5)查找到 ; cgi.force_redirect = 1段落,修改为 cgi.force_redirect = 0
提示:(4)和(5)是必须做的。记着要另存为php.ini
4. 将编辑好的php.ini文件剪切到Windows安装文件夹下(如:C:\Winnt 或 C:\Windows)
5. 在IIS中,选择要使用PHP的站点,右键菜单中选择“属性”,选择“主目录”标签,在该界面中点“配置”,添加或重新编辑php扩展的“应用程序扩展名映射”,可执行文件选择为C:\php5\php5isapi.dll,扩展名为php,确定应用后退出IIS配置
6. 停止IIS的WEB站点,并重新启动该站点。
提示:如果是Windows 2003,应增加WEB扩展,将PHP置为允许
Ⅵ 是php5.5版本不对吗
现如今有运行在php5.5版本环境的ecshop就会发现一些报错,而且很多空间商也不知道怎么解决,而这并不是php空间的问题。现在给大家讲解一下报错及解决方法报错:preg_replace_callback Requires argument 2, ‘Array’, to be a valid callback
这个报错就是提示:第二个参数不能为数组,只是一个回调,该如何解决呢?首先要找到这个调用的地方,如下:
1 return preg_replace_callback($pattern, $replace, $source);
修改为:
1 return preg_replace_callback($pattern,
2 function ($m){
3 return $this->call_back($m[1]);
4 }
5 $source);
再定义“call_back”回调方法,即可
1 function call_back($matches){
2 return $matches[1].($matches[2]+1);
3 }
问题:
1 preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
其中有段代码:
1 return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source)
此问题是以为php 5.5以上版本抛弃了“preg_replace()”中的 “/e”其实删除掉“/e”即可解决,如下:
view sourceprint?
1 return preg_replace("/{([^\}\{\n]*)}/","\$this->select('\\1');",
Ⅶ PHP5.5 和PHP5.6的区别
PHP5.5 和PHP5.6的区别
摘要:在一个基于Vagrant的本地环境中,可能是某个错误的原因,导致HHVM测试结果很差;在HHVM伙伴们协助下,该原因仍在研究中!然而,在DigitalOcean的一个4GB虚拟机中,HHVM甚至盖过了最新版的PHP-NG的风头!
结论:它们反映出HHVM的功效更佳(在JIT热启动后),虽然出于某些原因,我们不能在所有装备中获取这些结果。
如果你记得我们在几个月前写过一篇文章,那时WordPress 3.9表明是完全支持HHVM的,当时是那么令我们欢欣鼓舞。最初的基准测试结果显示,HHVM要比驱动着当前所有PHP构建的Zend引擎高级得多。后来,问题就出来了:
HHVM只能以单个用户运行,这意味着(在共享环境中)安全性差了
HHVM在崩溃后不会自动重启,而不幸的是,它至今仍然经常发生
HHVM在启动时使用大量内存,虽然,它和同规模的PHP-FPM比较,单个请求的内存使用量更低
很显然,你不得不根据你的(或者更确切地说是你的站点)的需求采取折中方案,然而这值得吗?切换到HHVM后,你期望获得多少性能改善呢?
在Kinsta,我们真的想要测试所有新技术,并通常会优化这一切来为我们的客户提供最佳的环境。今天,我最终花了点时间来配置测试环境并进行了一些测试来对比两个不同的构建,一个是全新出炉的WordPress安装,另外一个则添加了大量内容的WooCommerce!为了计量脚本的运行时间,我只是简单地添加了
<?php timer_stop(1); ?>
这一行到footer.php的/body标记前。
这里是配置环境的详情:
DigitalOcean 4GB 雨滴容器 (2 CPU核心, 4GB RAM)
Ubuntu 14.04, MariaDB10
测试站点: 已导入演示内容的Munditia主题,WooCommerce 2.1.12 & WordPress 3.9.1
PHP 5.5.9, PHP 5.5.15, PHP 5.6.0 RC2, PHP-NG (20140718-git-6cc487d)和HHVM 3.2.0 (版本是PHP 5.6.99-hhvm)
没有进一步大费周章,这些就是我的测试结果,数值越低越好,以秒为单位:
DigitalOcean 4GB 雨滴容器
单位是秒,运行10次,越低越好
看起来似乎PHP-NG在它首次运行后就获得了峰值性能!HHVM需要更多几次重载,但是它们的性能貌似差不多!我等不及PHP-NG合并到开发主干了!:)
一分钟命中数,越高越好。
PHP 5.5.15禁用OpCache
执行: 236 hits
可用性: 100.00 %
消耗时间: 59.03 secs
传输的数据: 2.40 MB
回应时间: 2.47 secs
执行率: 4.00 trans/sec
吞吐量: 0.04 MB/sec
并发数: 9.87
成功的执行: 236
失败的执行: 0
最长执行: 4.44
最短执行: 0.48
PHP 5.5.15启用OpCache
执行: 441 hits
可用性: 100.00 %
消耗时间: 59.55 secs
传输的数据: 4.48 MB
回应时间: 1.34 secs
执行率: 7.41 trans/sec
吞吐量: 0.08 MB/sec
并发数: 9.91
成功的执行: 441
失败的执行: 0
最长执行: 2.19
最短执行: 0.64
PHP 5.6 RC2禁用OpCache
执行: 207 hits
可用性: 100.00 %
消耗时间: 59.87 secs
传输的数据: 2.10 MB
回应时间: 2.80 secs
执行率: 3.46 trans/sec
吞吐量: 0.04 MB/sec
并发数: 9.68
成功的执行: 207
失败的执行: 0
最长执行: 3.65
最短执行: 0.54
PHP 5.6 RC2启用OpCache
执行: 412 hits
可用性: 100.00 %
消耗时间: 59.03 secs
传输的数据: 4.18 MB
回应时间: 1.42 secs
执行率: 6.98 trans/sec
吞吐量: 0.07 MB/sec
并发数: 9.88
成功的执行: 412
失败的执行: 0
最长执行: 1.93
最短执行: 0.34
HHVM 3.2.0(版本是PHP 5.6.99-hhvm)
执行: 955 hits
可用性: 100.00 %
消耗时间: 59.69 secs
传输的数据: 9.18 MB
回应时间: 0.62 secs
执行率: 16.00 trans/sec
吞吐量: 0.15 MB/sec
并发数: 9.94
成功的执行: 955
失败的执行: 0
最长执行: 0.85
最短执行: 0.23
PHP-NG启用OpCache(构建: Jul 29 2014)
执行: 849 hits
可用性: 100.00 %
消耗时间: 59.88 secs
传输的数据: 8.63 MB
回应时间: 0.70 secs
执行率: 14.18 trans/sec
吞吐量: 0.14 MB/sec
并发数: 9.94
成功的执行: 849
失败的执行: 0
最长执行: 1.06
最短执行: 0.13
Ⅷ php5到底有什么用
可以为学习编程打个基础