您的位置: 琼山信息网 > 科技

PHP4迈向终点 明年停止更新

发布时间:2019-09-13 19:40:42

PHP开发团队宣布将结束长达7年的PHP 4.0版开发活动,2007年底停止升级,仅剩重大安全问题时的修补,2008年8月8日之后不再提供任何PHP 4官方支持。台湾每4个网站,就有1个网站采用PHP 4,若未升级,将有潜在的安全隐忧。

PHP开发团队表示从3年前发布PHP 5至今,仅2成网站升级,多数虚拟主机服务供货商,仍停留在PHP 4的产品,普及速度缓慢。为加快网站升级速度,同时将开发资源移转至PHP 6,而做出终止PHP 4开发的决定。

PHP是目前世界上使用率最高的网页开发语言,在开发语言排行榜(TIOBE)排名第5,仅次于Java、C、C++和Visual Basic。法国PHP/MySQL入口网站Nexen.net调查全世界近1,090万台网页服务器(2007年6月),使用PHP的网站比例高达 33.88 %,远超过第2高的ASP(20.94%)网站。在全部使用PHP的网站中,还有8成网页采用PHP 4。未来这8成近300万个网站,需在1年内升级至PHP 5,否则一旦出现新的安全漏洞,就会面临无人支持,需自行解决的窘境。

台湾每4个网站就有1个用PHP 4

根据Nexen.net调查结果显示,台湾使用PHP的网站比例还高于全球平均值,达 41.75 %,这其中超过6成采用PHP 4开发网页,表示使用者每打开4个网站,就有1个是用PHP 4。「酷!学园」PHP版版主姜钟凯认为:「对这些采用PHP 4网站的影响较大。」换句话说,台湾每4个网站,就有1个网站,未来将面临潜在的安全隐忧,若是企业核心服务使用PHP 4,承担的风险成本就更高。

目前台湾多数虚拟主机供货商,主要还是以PHP 4环境的产品为主,甚少提供PHP 5的产品。虚拟主机供货商战国策的PHP网站客户数超过5000家,战国策技术支持课主任胡邦元表示:「我们的客户99.9%都是PHP 4,PHP 5需求很少,不到0.1%,目前是采用独立PHP 5服务器来供应。」明年8月PHP 4支持结束时,可预见PHP 5的需求比例势必大幅提升,虚拟主机的供货商首当其冲,将面临客户的升级挑战。第5版在基本架构上作了很大幅度的调整,即使在PHP 5的环境中,开启向下兼容模式,让原本PHP 4的程序代码可执行,但仍旧会有不稳或效能不佳的情形,须修改程序才能改善。

对象导向语法不兼容是升级主要门坎

PHP 5为因应现代程序语言发展趋势或满足新兴开发框架的需求,增加许多新功能,例如改善对XML的控制方式和执行效能,更利于开发网络服务。或增强开发语言的 安全性,提供PDO这类新的数据库连结方式,来预防常见SQL注入的黑客入侵技术,此外也将预设数据库从MySQL,改为SQLlite等。

最大的改变则是PHP 5对对象导向的支持更完整。虽然从PHP 3已经开始具备对象导向的语法,但到PHP 5几乎整个重写。原本PHP 4的对象导向语法,也无法兼容于5.0版,例如对对象类别的建构子(Constructor)方法,4.0版中采与类别同名,但在5.0版中需使用建构子 语法来建立,旧版语法无法在新版中执行。姜钟凯表示:「对象导向的部分是升级过程中最主要的修改重点,如果没有到使用对象导向,几乎可直接更新到PHP 5。」

台湾首位通过PHP认证的梁枫评估从PHP 4全面升级到5.0版的速度仍旧会持续很长的时间:「对开发人员而言,乐见转向PHP 5,但许多企业应用为兼容既有系统,仍采用PHP 4,除非必要,企业不会轻易升级。」他指出升级难度会因程序代码复杂程度而不同,梁枫建议:「企业应提早评估,了解需修改的幅度,避免因安全问题需临时升级,来不及应变的状况。」

开发人员是最早面临升级压力的人,LifeType开发团队的吴信仪评估对他们影响不大。目前,新建网站大多直接使用PHP 5进行开发,不受4.0停止支持的影响,也无需处理向下兼容的问题。许多PHP套件的资源网站,例如PEAR.php.net,也逐渐以PHP 5为主。不过吴信仪认为PHP 4与5没有孰优孰劣的问题,他表示:「PHP 4仍旧是很好用的开发语言,对一些常见用途也很足够。开发人员要衡量开发作业程序是否能适应对象导向的开发模式,再作选择,这是完全不同的开发模式。」他指出:「是否必须改用新版,关键是虚拟主机供货商能否继续提供旧版本的产品。」

面对PHP 4将停止支持,台湾虚拟主机供货商的态度却是坚持到最后,让采用虚拟主机服务的企业,能有较长的缓冲时间。Seednet第二事业群营销处企画部经理刘小菁表示:「只要有一个客户还在使用PHP 4,我们就会继续提供支持。」她表示Seednet已经准备好PHP 5的产品环境,未来会提供给PHP 4的客户,进行升级评估的测试。战国策技术支持课主任胡邦元同样也表示会继续支持4.0版,但他建议企业提早评估,战国策也规画对考虑升级但技术能力不足的客户,提供升级支持的服务。

PHP4升級5大要點

注意事項解決方式 自行編譯PHP時,MySQL不再是預設會編譯的PHP模組。請在編譯的時候加入 --with-mysql ,若是自己有安裝 mysql 別忘了加入 —with-mysql=[mysql_dir]PHP 5的物件使用新關鍵字宣告物件內的變數。原本使用var $abc;的宣告方式,請改用 public,private,protected進行宣告。(php5有完整的私有物件變數保護機制)PHP 5物件從原來的預設傳值,變成預設傳參考。在PHP 4中,$a = $b;會是兩個不同的實體。在PHP 5中有可能會是相同的實體。需要用$a = clone $b;才會進行複製物件的動作。PHP 5新增很多Magic method,善用可減少撰寫大量程式碼。常用Magic method有__get、__set、__call等,另外有__autoload這個全域的好用函式。大部分PHP 4程式碼可以在PHP 5 上執行,但是部份會產生不少Notice。一般來說Notice 是可忽略,只要修改 php.ini 取消顯示即可,但是若修正Notice所提示的程式碼,可增進程式的穩定性與安全性。資料來源:姜鐘凱

宝宝小便黄
宝宝风寒感冒吃什么药
冠心病是怎么治疗
丁桂薏芽健脾凝胶成分
猜你会喜欢的
猜你会喜欢的