fbpx
维基百科

PHP

PHP(全称:PHP: Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。PHP的语法借鉴吸收C语言JavaPerl等流行计算机语言的特点,易于一般程序员学习。PHP的主要目标是允许网络开发人员快速编写动态页面,但PHP也被用于其他很多领域。[3]

PHP
编程范型物件導向指令式編程
設計者拉斯姆斯·勒多夫
實作者The PHP Group
发行时间1995年,​28年前​(1995[1]
当前版本
  • 8.3.0 (2023年11月23日;穩定版本)[2]
型態系統動態、弱型別
操作系统跨平台
許可證PHP许可证
網站www.php.net
啟發語言
PerlHTMLCC++JavaJavaScriptHack
影響語言
HackJSPASP

PHP最初是由勒多夫在1995年开始开发的;現在PHP的標準由the PHP Group[4]維護。PHP以PHP License作為許可協議,不過因為這個協議限制了PHP名稱的使用,所以和開放原始碼許可協議GPL不相容。[5]

PHP的應用範圍相當廣泛,尤其是在網頁程式的開發上。一般來說PHP大多執行在網頁伺服器上,通過執行PHP程式碼來產生使用者瀏覽的網頁。PHP可以在多數的伺服器和作業系統上執行。根據2013年4月的統計資料,PHP已經被安裝在超過2億4400萬個網站和210萬台伺服器上[6]

PHP在Windows上有专门的官方移植编译项目,并且分多个VC编译器版本和线程安全特性来提供不同的版本支持。

根据W3Techs的报告,截至2023 年 7 月:“有77.4%的网站使用PHP。”。只有14%的网站正在使用当前支持的php8,又20.6%的网站正在使用不安全的php5版本。[7]

開發歷史 编辑

 
Zend Technologies的創辦人之一 - Andi Gutmans
 
Zend Technologies的創辦人之一 - Zeev Suraski

PHP原本的全稱為Personal Home Page[8],是拉斯姆斯·勒多夫為了要維護個人網頁,而用C語言開發的一些CGI工具程式集,來取代原先使用的Perl程式。最初這些工具程式用來顯示拉斯姆斯·勒多夫的個人履歷,以及統計網頁流量[9]。他將這些程式和一些表單直譯器整合起來,稱為PHP/FI。PHP/FI可以和資料庫連接,產生簡單的動態網頁程式。拉斯姆斯·勒多夫在1995年6月8日將PHP/FI公開釋出,希望可以透過社群來加速程式開發與尋找錯誤[10]。這個釋出的版本命名為PHP 2,已經有今日PHP的一些雛型,像是類似Perl的變數命名方式、表單處理功能、以及嵌入到HTML中執行的能力。程式語法上也類似Perl,有較多的限制,不過更簡單、更有彈性。[9]

在1997年,任職於Technion IIT公司的兩個以色列程式設計師:Zeev Suraski和Andi Gutmans,重寫了PHP的剖析器,成為PHP 3的基礎,而PHP也在這個時候改稱為PHP: Hypertext Preprocessor.[9]。經過幾個月測試,開發團隊在1997年11月釋出了PHP/FI 2,隨後就開始PHP 3的開放測試,最後在1998年6月正式釋出PHP 3。Zeev Suraski和Andi Gutmans在PHP 3釋出後開始改寫PHP的核心,這個在1999年釋出的剖析器稱為Zend Engine[11],他們也在以色列的Ramat Gan成立了Zend Technologies來管理PHP的開發。[9]

在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式釋出,2004年7月13日則釋出了PHP 5,PHP 5則使用了第二代的Zend Engine[9]。PHP 5包含了許多新特色,像是強化的物件導向功能、引入PDO(PHP Data Objects,一個存取資料庫的延伸函式庫)、以及許多效能上的增強[12]。目前PHP 4已經不會繼續更新,以鼓勵用戶轉移到PHP 5。[13][14]

2008年时,PHP 5成為了PHP唯一維護中的穩定版本。

PHP 7的首个版本于2015年12月3日開發完成,包含了大量性能上的改进,同时也带来了一些新特性,最值得注意的是返回值类型声明、标量类型声明(可用于参数及返回值)。

2020年11月26日 PHP 8 发布,它包含了很多新功能与优化项, 包括命名参数、联合类型、注解、构造器属性提升、match 表达式、nullsafe 运算符、JIT,并改进了类型系统、错误处理、语法一致性。[15]

2021年11月22号Phpstorm 的开发商 JetBrains 宣布,与 Automattic、Laravel、Acquia 等多家公司共同成立 PHP 基金会。[16]

2021年11月25日 PHP 8.1 发布,它包含了许多新功能,包括枚举、只读属性、First-class 可调用语法、纤程、交集类型和性能改进等。[17]

2022年12月8日 PHP 8.2 发布,它包含了只读类、null、false 和 true 作为独立的类型、废弃动态属性、性能改进等。[18]

版本歷程 编辑

代表意義
紅色 过期版本;官方停止支援
黃色 当前版本;官方仅提供安全问题修复
綠色 当前版本;官方提供安全问题和一般问题的修复
藍色 未來版本
版本 釋出日期 结束支持日期[19] 說明
1.0 1995年6月8日 正式名稱為"Personal Home Page Tools (PHP Tools)",第一次使用了"PHP"的名字。[9]
2.0 1996年4月16日 針對PHP 1.0的改進版,速度更快、體積更小,更容易產生動態網頁。[9]
3.0 1998年6月6日 2000年10月20日 開發方式改成多人共同參與。Zeev Suraski和Andi Gutmans為了這個版本重寫了剖析引擎。[9]
4.0 2000年5月22日 2001年6月23日 改成以Zend引擎作為剖析器,具有兩階段剖析/標籤剖析系統等先進功能。[20]
4.1 2001年12月10日 2002年3月2日 加入"超全域變數"(superglobals)功能,包含了$_GET$_POST$_SESSION等。[20]
4.2 2002年4月22日 2002年9月6日 預設取消register_globals功能。從網路接收的資料將不會設定成全域變數,增加程式安全性。[20]
4.3 2002年12月27日 2005年3月31日 加入命令列執行檔,稱為CLI,用以补充CGI[20][21]
4.4 2005年7月11日 2008年8月8日 新增phpizephp-config 的手冊頁。[20]
5.0 2004年7月13日 2005年9月5日 推出有着新的对象模型的Zend Engine II。[22]
5.1 2005年11月24日 2006年8月24日 在往重新设计的PHP引擎引入编译变量时做了性能提升。[22]添加了PHP数据对象(PDO)作为访问数据库的统一接口。[23]
5.2 2006年11月2日 2011年1月6日 預設開啟"過濾"的擴充功能。[22]原生的JSON支援。[24]
5.3 2009年6月30日[25] 2014年8月14日 支持命名空间;使用XMLReader和XMLWriter增强XML支持;支持SOAP ,[26]延迟静态绑定,跳转标签(有限的goto), 闭包,Native PHP archives。
5.4 2012年3月1日 2015年9月3日 支持Trait、简短数组表达式。移除了register_globals, safe_mode, allow_call_time_pass_reference, session_register(), session_unregister(), magic_quotes以及session_is_registered()。加入了内建的Web服务器。[27]增强了性能,减小内存使用量。
5.5 2013年6月20日 2016年7月10日 支持generators,用于异常处理的finally ,将OpCache(基于 Zend Optimizer+)加入官方发布中。
5.6 2014年8月28日 2018年12月31日 支持常量标量表达式、可变参数函数、指数运算符,增加phpdbg SAPI、统一的默认字符集。[28]
6.x 未发布 不適用 取消掉的、从未正式发布的PHP版本。[29][30]
7.0 2015年12月3日[31] 2018年12月3日 Zend Engine 3 (性能提升[32]并在Windows上支持 64-bit 整数),统一的变量语法, 

基于抽象语法树编译过程。

7.1 2016年12月1日 2019年12月1日 void返回值类型,类常量可见性修饰符,多异常捕获处理
7.2 2017年11月30日 2020年11月30日 新的对象类型,通过名称加载扩展,重写抽象方法,Sodium为核心扩展
7.3 2018年12月6日 2021年12月6日 更灵活的 Heredoc 和 Nowdoc 语法,数组解构支持引用赋值,Instanceof 运算符接受文字
7.4 2019年11月28日 2022年11月28日 属性添加限定类型、箭头函数、空合并运算符赋值、数组展开操作
8.0 2020年11月26日 2023年11月26日 JIT即时编译,增加命名参数,注解实现,构造器属性提升,联合类型,Match 表达式,Nullsafe 运算符,字符串与数字的比较更符合逻辑,内部函数类型错误的一致性。
8.1 2021年11月25日 2024年11月25日 八进制整数文字表达前缀,支持字符串类型键的数组解包,参数展开后命名参数,纤程,交集类型,Never 类型,Readonly 属性,Final 类常量
8.2 2022年12月8日 2025年12月8日 SensitiveParameter 属性,常量表达式中的枚举属性,类型系统提升,只读类
8.3 2023年11月23日 2026年11月23日

吉祥物 编辑

 
吉祥物:elePHPant

PHP計畫的吉祥物名叫「elePHPant」,PHP的logo在一頭藍象的裡面,由文森·龐蒂爾(Vincent Pontier)[33]在1998年[34]設計。其設計概念是從側面看 PHP 像隻大象[35]。當elePHPant被製作成毛絨玩具時,有時顏色會有不同。

應用 编辑

 
網路應用開發

PHP是一個應用範圍很廣的語言,特別是在網路程式開發方面。一般來說PHP大多在伺服器端執行,透過執行PHP的程式碼來產生網頁提供瀏覽器讀取,此外也可以用來開發命令列腳本程式和使用者端的GUI應用程式。PHP可以在許多的不同種的伺服器、作業系統、平台上執行,也可以和許多資料庫系統結合。使用PHP不需要任何費用,官方組織PHP Group提供了完整的程序源代码,允許使用者修改、編譯、擴充來使用。[36]

安装方式 编辑

在Linux环境下,一般自带的软件源包含 PHP,但是版本过旧,多数情况使用编译安装,并且一般使用一些开源脚本帮助一键部署LNMPLAMP环境。

在macOS环境下,支持 homebrew 安装,也支持源码编译。 [37]

在Windows环境下,一般直接下载官方编译版本,或者使用 PHP 环境套件,其中包含 PHP、MySQLNginxApache,一键启动。PHP 在 Windows 上的官方版本被推荐用于生产环境。如果有需要,你也可以从源码中构建 PHP。[38]

使用方式 编辑

PHP 5.3.3后内置 PHP-fpm模块,用于管理PHP 进程池的软件,用于接受web服务器的请求。一般情况下,PHP 将会搭配 Http 服务器和数据库软件同时使用。

在Linux平台常见的方案有 LAMPLNMP,在Windows 平台通常使用的 PHP 套件,如:XAMPP、PHPStudy,PHP 也支持的 Docker 环境下运行。

同时 PHP 也支持命令行,单独以脚本的方式运行,例如php run.php[39]

流行度和使用统计 编辑

php 广泛的应用于各种开源程序,包括MediaWikiWordPressJoomlaDrupal等。

截至在2023年7月,根据w3techs统计,全世界的网站77.4%使用php[7]

安全 编辑

据National Vulnerability Database数据显示,与PHP有关的数据库攻击比例为:20% 2004, 28% 2005, 43% 2006, 36% 2007, 35% 2008 and 32% 2009[40]。其中很多的漏洞都可以通过远程操作完成,如:黑客可以通过网络连接攻击服务器,达到盗取或毁坏数据,发送垃圾邮件或进行分散式阻斷服務攻擊。但是随着更多的关注,PHP也变得越来越安全了。现代PHP开发大部分使用例如LaravelSymfony这样的框架进行开发,框架自身提供了大量的安全防范措施,减少了SQL注入XSS攻击等方式攻击的可能性,极大的提供了PHP应用的安全性。

PHP官网被駭入事件 编辑

2010年12月17日,PHP代码“贡献者名单”中被加入“Wolegequ Gelivable”字样(中文含义“我勒个去 给力”),约半小时后被删除。[41][42][43]2011年3月19日,PHP官方发布声明[44]指出,黑客可能是通过wiki.php.net作为入口攻击了代码系统。并且,官方已经检查过自版本5.3.5以来釋出的代码,并没有发现恶意内容。但官方同时表示,尚未完全掌握黑客发动本次攻击的具体细节。

語法 编辑

PHP的語法參考了PerlC語言,而且可以整合在HTML之中,以下是一個簡單的Hello World程式碼:

 <?= 'Hello World!'; ?> 

PHP剖析引擎只剖析<?php?>之間的程式碼,而不包含在<?php?>之間的內容則會直接送出,所以可以用以下的方式來將PHP程式碼嵌入在HTML之中:

 <?php //-PHP-{zh-hans:代码;zh-hant:程式碼:}- ?>  html內容  <?php //-PHP-{zh-hans:代码;zh-hant:程式碼:}- ?> 

在HTML中嵌入PHP时,比如需要單獨输出某個變數,除了正常採用 echo 方式外,也可以直接採用下列方式:

 <?=$title?> 

但是上述這種方式曾經引起爭議,有的人並不推薦這種方式的縮寫[45](其原因為:並不是所有伺服器都支援縮寫,但在後期之後此選項為預設開啟),也有人因為採用這種方法,造成與 XML 搞混[46]的情況。

在判斷語句中的HTML代碼並不會被直接送出:

 <?php if (false) { ?>  HTML Code  <?php } ?> 

PHP可以用三種註解的形式:C與C++所使用的「/*...*/」與「//」,和Perl的「#」。

 <?php /* 多行註解的第一行  多行註解的另一行 */ // 單行註解 # 單行註解 ?> 

類型 编辑

PHP主要有八种基本数据类型[47],其中包括:

變數 编辑

PHP中,變數以「$」後接变量名稱來表示。 變數名稱區分大小寫。

有效的變數名稱以字母或底線開頭,後接任意數目的字母、數字或底線,PHP也支持使用多字节文字作为變數名。[48]

物件導向 编辑

PHP從PHP 3開始有了基本的物件導向(Object oriented)的特性,但直到PHP 5將物件導向部份重新改寫之後,PHP的物件導向功能才比較完善。現在PHP可以說是一個有完整物件導向功能的語言。

PHP相關資源 编辑

PHP框架 编辑

使用PHP框架可以更快更简单的部署项目並提高开发效率,但学习使用这些框架需要付出额外的学习成本。

最流行的PHP框架包括:Symfony, Zend Framework, LaravelPhalconCodeIgniter、Yii、ThinkPHP等等。

函式庫 编辑

內建多樣化的函數是PHP主要的特點之一,這些開放程式碼的函數提供了各種不同的功能,例如文件處理、FTP、字符串處理、等等。這些函數的使用方法和C語言相近(例如printf),這也是PHP廣為流行的原因之一。

除了內建的函數之外,PHP也提供了很多扩展函式庫(extension),像是各種資料庫連接函數、資料壓縮函數、圖形處理等等。有些延伸函式庫需要從PECL(PHP Extension Community Library)取得。

以下是PHP程式語言提供的函式庫列表

原始碼編碼和加速 编辑

PHP原始碼是可以直接讀取的,即使放到伺服器上執行也是一樣。雖然讓PHP多了彈性,但相對的會造成安全危機和性能下降的問題。

透過PHP編碼器,可以保護PHP的原始碼不被讀取(對商業軟體來說特別有需求),也可以提昇執行的效能。有許多公司或團體開發PHP的編碼器,將PHP程式編譯成位元組碼(byte code),再透過伺服器上安裝對應的程式來執行PHP腳本。

除了透過編碼器加速之外,PHP還可以透過動態的快取機制來提昇速度,加速工具有商業版的,例如Zend Platform,也有開放原始碼的加速軟體如eAccelerator、APC、XCache。

PHP包管理器 编辑

Composer是PHP社区用来管理依赖关系的工具,一般在PHP项目中通过composer.json声明依赖的外部PHP库,通过composer.lock锁定具体的版本和文件,然后就可以使用Composer管理包依赖。

截至到2023年7月,每个月Composer包安装次数在2000万左右,Composer包的总量在37.5万个,不同版本400万个。[49]

PHP編譯器 编辑

PHP一直被當作直譯器使用。PHP編譯器則將PHP從直譯器中分離,為加快運行和改善與以其他程式語言編寫部份的互通性,例如Phalanger將PHP編譯成通用中间语言和Hiphop for PHP把PHP原始碼編譯成C++等。Facebook因應其網站大量的使用者,整合了HPHPc、HPHPi、HPHPd以及HHVM這四種腳本引擎,開發出HipHop for PHP,以加強網站效能。

在 PHP 5.5.0 及后续版本中引入了OPcache 扩展,将编译好的操作码放入共享内存,提供给其他进程访问。

在 PHP 8 引入了JIT支持,提高PHP 运行性能。

發展 编辑

PHP 7 编辑

  • 基于PHPNG项目(PHP Next-Gen),它能让透明提升PHP程序性能,使PHP7的性能和HHVM相当
  • 抽象语法树编译 AST: Abstract Syntax Tree
  • 异步编程

PHP 8 编辑

  • 命名参数、联合类型、注解、构造器属性提升、match 表达式、nullsafe 运算符、JIT,并改进了类型系统、错误处理、语法一致性。[50]
  • 枚举、只读属性、First-class 可调用语法、纤程、交集类型和性能改进[17]
  • 只读类、null、false 和 true 作为独立的类型、废弃动态属性、性能改进等。[18]

彩蛋 编辑

PHP含有多個彩蛋,可以透過在網域名稱的後面加上特殊字串顯示彩蛋。例如,?=PHPE9568F36-D428-11d2-A769-00AA001ACF42則會出現PHP的logo,PHP版本的不同,logo也會不同;不过该特性已经在5.5版本中被移除[51]

趣聞 编辑

PHP程式語言的官方文档中曾写过「PHP是最好的WEB开发語言,那其他的语言如何呢?」[52],但是这句话被華語圈的程式設計師讹传为「世界上最好的语言」并加以调侃[來源請求]

註釋 编辑

參考文獻 编辑

引用 编辑

  1. ^ Lerdorf, Rasmus. . The Conversations Network. 2007-04-26 [2009-12-11]. (原始内容存档于2019-01-06). 
  2. ^ Version 8.3.0. 2023年11月23日 [2023年11月23日]. 
  3. ^ PHP:序言. [2013-05-13]. (原始内容于2013-08-06). 
  4. ^ the PHP Group. [2015-07-24]. (原始内容于2015-07-24). 
  5. ^ . Various Licenses and Comments about Them. Free Software Foundation. [2008-02-22]. (原始内容存档于2008-12-16). 
  6. ^ Usage Stats for April 2007. [2015-02-26]. (原始内容于2015-03-01). 
  7. ^ 7.0 7.1 Usage statistics of PHP for websites. w3techs. [2023-07-07]. 
  8. ^ php.net/history. [2018-08-12]. (原始内容于2018-08-16). 
  9. ^ 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 History of PHP and related projects. The PHP Group. [2008-02-25]. (原始内容于2008-07-08). 
  10. ^ Lerdorf, Rasmus. Announce: Personal Home Page Tools (PHP Tools). Newsgroup: comp.infosystems.www.authoring.cgi. 1995-06-08 [2006-09-17]. (原始内容于2006-09-03). 
  11. ^ . Zend Technologies Ltd. [2006-09-17]. (原始内容存档于2006-07-19). 
  12. ^ Trachtenberg, Adam. Why PHP 5 Rocks!. O'Reilly. 2004-07-15 [2008-02-22]. (原始内容于2016-03-31). 
  13. ^ php.net 2007 news archive. The PHP Group. 2007-07-13 [2008-02-22]. (原始内容于2019-04-07). 
  14. ^ Kerner, Sean Michael. PHP 4 is Dead—Long Live PHP 5. InternetNews. 2008-02-01 [2008-03-16]. (原始内容于2016-03-24). 
  15. ^ PHP: PHP 8.0.0 Release Announcement. The PHP Group. [2023-07-08]. (原始内容于2023-07-08). 
  16. ^ The New Life of PHP – The PHP Foundation. JetBrains s.r.o. [2023-07-07]. (原始内容于2023-08-10).  已忽略文本“The PhpStorm Blog” (帮助)
  17. ^ 17.0 17.1 PHP: PHP 8.1.0 Release Announcement. The PHP Group. [2023-07-08]. (原始内容于2023-07-08). 
  18. ^ 18.0 18.1 PHP: PHP 8.2.0 Release Announcement. The PHP Group. [2023-07-08]. (原始内容于2023-07-08). 
  19. ^ PHP: Unsupported Branches. php.net. [2016-06-17]. (原始内容于2019-05-15). 
  20. ^ 20.0 20.1 20.2 20.3 20.4 PHP: PHP 4 ChangeLog. The PHP Group. 2008-01-03 [2008-02-22]. (原始内容于2008-02-28). 
  21. ^ PHP: Command line usage - Manual. php.net. [2016-06-17]. (原始内容于2016-06-26). 
  22. ^ 22.0 22.1 22.2 PHP: PHP 5 ChangeLog. The PHP Group. 2007-11-08 [2008-02-22]. (原始内容于2008-02-27). 
  23. ^ PHP: Introduction - Manual. php.net. [2016-06-17]. (原始内容于2016-07-03). 
  24. ^ PHP: PHP 5 ChangeLog. www.php.net. [2016-06-17]. (原始内容于2016-06-17). 
  25. ^ 存档副本. [2018-08-12]. (原始内容于2018-08-11). 
  26. ^ Zend Weekly Summaries Issue #359. [2008-12-16]. (原始内容于2009-01-03). 
  27. ^ Built-in web server. [2012-03-26]. (原始内容于2012-03-20). 
  28. ^ PHP: PHP 5 Changelog. [2018-08-12]. (原始内容于2018-08-13). 
  29. ^ . [2015-07-24]. (原始内容存档于2015-07-24). There have been books on the shelves purporting to cover PHP 6 since at least 2008. But, in March 2010, the PHP 6 release is not out - in fact, it is not even close to out. Recent events suggest that PHP 6 will not be released before 2011 - if, indeed, it is released at all. 
  30. ^ PHP 7 moves full speed ahead. [2015-07-24]. (原始内容于2015-07-24). Recent versions of PHP have been part of the 5.x release series, but there will be no PHP 6. “We’re going to skip [version] 6 because years ago, we had plans for a 6 but those plans were very different from what we’re doing now,” Gutmans said. Going right to version 7 avoids confusion. 
  31. ^ PHP: todo:php70. 2015-05-27 [2015-06-01]. (原始内容于2015-06-21). 
  32. ^ PHP: phpng. wiki.php.net. [2016-06-17]. (原始内容于2016-06-16). 
  33. ^ PHP: ElePHPant. 2014-10-04 [2014-10-04]. (原始内容于2014-10-04). 
  34. ^ . [2017-09-30]. (原始内容存档于2017-02-14). 
  35. ^ The PHP Mascot's Birth - Creator Of The elePHPant Vincent Pontier Reveals The True Story!. [2018-08-13]. (原始内容于2018-08-13). 
  36. ^ Embedding PHP in HTML. O'Reilly. 2001-05-03 [2008-02-25]. (原始内容于2008-02-19). 
  37. ^ macOS 系统下的安装. The PHP Group. [2023-07-08]. (原始内容于2023-10-28). 
  38. ^ Windows 系统下的安装. The PHP Group. [2023-07-08]. (原始内容于2023-11-09). 
  39. ^ PHP 在 Microsoft Windows 下的命令行方式. The PHP Group. [2023-07-08]. (原始内容于2023-07-08). 
  40. ^ PHP-related vulnerabilities on the National Vulnerability Database. 2008-03-01 [2009-08-20]. (原始内容于2009-06-28). 
  41. ^ [1][失效連結]
  42. ^ PHP developer wiki server hacked. [2013-12-28]. (原始内容于2013-12-28). 
  43. ^ . [2013-12-28]. (原始内容存档于2013-12-28). 
  44. ^ 存档副本. [2018-08-12]. (原始内容于2018-08-13). 
  45. ^ [2] (页面存档备份,存于互联网档案馆),Why are “echo” short tags permanently enabled as of PHP 5.4?
  46. ^ [3] (页面存档备份,存于互联网档案馆),Escaping <? on php shorthand enabled server when using require
  47. ^ Types Introduction (页面存档备份,存于互联网档案馆),The PHP Group
  48. ^ Language variables (页面存档备份,存于互联网档案馆),The PHP Group
  49. ^ PHP Version Statistics - Packagist. Packagist. [2023-07-08]. (原始内容于2023-10-18). 
  50. ^ PHP: PHP 8.0.0 Release Announcement. The PHP Group. [2023-07-08]. (原始内容于2023-07-08). 
  51. ^ expose_php. [2018-08-12]. (原始内容于2018-08-13). 
  52. ^ 原文:PHP is the best language for web programing, but what about other languages. web.archive.org. 2010-05-07 [2019-02-21]. 原始内容存档于2010-05-07. 

来源 编辑

网页

外部連結 编辑

此條目可参照英語維基百科相應條目来扩充, 此條目在對應語言版為高品質條目, 2021年10月13日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 此條目介紹的是程式設計語言, 关于貨幣單位. 此條目可参照英語維基百科相應條目来扩充 此條目在對應語言版為高品質條目 2021年10月13日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 此條目介紹的是程式設計語言 关于貨幣單位 请见 菲律賓披索 关于出版社 请见 PHP研究所 PHP 全称 PHP Hypertext Preprocessor 即 PHP 超文本预处理器 是一种开源的通用计算机脚本语言 尤其适用于网络开发并可嵌入HTML中使用 PHP的语法借鉴吸收C语言 Java和Perl等流行计算机语言的特点 易于一般程序员学习 PHP的主要目标是允许网络开发人员快速编写动态页面 但PHP也被用于其他很多领域 3 PHP编程范型物件導向 指令式編程設計者拉斯姆斯 勒多夫實作者The PHP Group发行时间1995年 28年前 1995 1 当前版本8 3 0 2023年11月23日 穩定版本 2 型態系統動態 弱型別操作系统跨平台許可證PHP许可证網站www wbr php wbr net啟發語言Perl HTML C C Java JavaScript Hack影響語言Hack JSP ASPPHP最初是由勒多夫在1995年开始开发的 現在PHP的標準由the PHP Group 4 維護 PHP以PHP License作為許可協議 不過因為這個協議限制了PHP名稱的使用 所以和開放原始碼許可協議GPL不相容 5 PHP的應用範圍相當廣泛 尤其是在網頁程式的開發上 一般來說PHP大多執行在網頁伺服器上 通過執行PHP程式碼來產生使用者瀏覽的網頁 PHP可以在多數的伺服器和作業系統上執行 根據2013年4月的統計資料 PHP已經被安裝在超過2億4400萬個網站和210萬台伺服器上 6 PHP在Windows上有专门的官方移植编译项目 并且分多个VC编译器版本和线程安全特性来提供不同的版本支持 根据W3Techs的报告 截至2023 年 7 月 有77 4 的网站使用PHP 只有14 的网站正在使用当前支持的php8 又20 6 的网站正在使用不安全的php5版本 7 目录 1 開發歷史 1 1 版本歷程 2 吉祥物 3 應用 3 1 安装方式 3 2 使用方式 3 3 流行度和使用统计 4 安全 4 1 PHP官网被駭入事件 5 語法 5 1 類型 5 2 變數 5 3 物件導向 6 PHP相關資源 6 1 PHP框架 6 2 函式庫 6 3 原始碼編碼和加速 6 4 PHP包管理器 7 PHP編譯器 8 發展 8 1 PHP 7 8 2 PHP 8 9 彩蛋 10 趣聞 11 註釋 12 參考文獻 12 1 引用 12 2 来源 13 外部連結開發歷史 编辑此章節需要更新 2022年5月28日 請更新本文以反映近況和新增内容 完成修改後請移除本模板 nbsp Zend Technologies的創辦人之一 Andi Gutmans nbsp Zend Technologies的創辦人之一 Zeev SuraskiPHP原本的全稱為Personal Home Page 8 是拉斯姆斯 勒多夫為了要維護個人網頁 而用C語言開發的一些CGI工具程式集 來取代原先使用的Perl程式 最初這些工具程式用來顯示拉斯姆斯 勒多夫的個人履歷 以及統計網頁流量 9 他將這些程式和一些表單直譯器整合起來 稱為PHP FI PHP FI可以和資料庫連接 產生簡單的動態網頁程式 拉斯姆斯 勒多夫在1995年6月8日將PHP FI公開釋出 希望可以透過社群來加速程式開發與尋找錯誤 10 這個釋出的版本命名為PHP 2 已經有今日PHP的一些雛型 像是類似Perl的變數命名方式 表單處理功能 以及嵌入到HTML中執行的能力 程式語法上也類似Perl 有較多的限制 不過更簡單 更有彈性 9 在1997年 任職於Technion IIT公司的兩個以色列程式設計師 Zeev Suraski和Andi Gutmans 重寫了PHP的剖析器 成為PHP 3的基礎 而PHP也在這個時候改稱為PHP Hypertext Preprocessor 9 經過幾個月測試 開發團隊在1997年11月釋出了PHP FI 2 隨後就開始PHP 3的開放測試 最後在1998年6月正式釋出PHP 3 Zeev Suraski和Andi Gutmans在PHP 3釋出後開始改寫PHP的核心 這個在1999年釋出的剖析器稱為Zend Engine 11 他們也在以色列的Ramat Gan成立了Zend Technologies來管理PHP的開發 9 在2000年5月22日 以Zend Engine 1 0為基礎的PHP 4正式釋出 2004年7月13日則釋出了PHP 5 PHP 5則使用了第二代的Zend Engine 9 PHP 5包含了許多新特色 像是強化的物件導向功能 引入PDO PHP Data Objects 一個存取資料庫的延伸函式庫 以及許多效能上的增強 12 目前PHP 4已經不會繼續更新 以鼓勵用戶轉移到PHP 5 13 14 2008年时 PHP 5成為了PHP唯一維護中的穩定版本 PHP 7的首个版本于2015年12月3日開發完成 包含了大量性能上的改进 同时也带来了一些新特性 最值得注意的是返回值类型声明 标量类型声明 可用于参数及返回值 2020年11月26日 PHP 8 发布 它包含了很多新功能与优化项 包括命名参数 联合类型 注解 构造器属性提升 match 表达式 nullsafe 运算符 JIT 并改进了类型系统 错误处理 语法一致性 15 2021年11月22号Phpstorm 的开发商 JetBrains 宣布 与 Automattic Laravel Acquia 等多家公司共同成立 PHP 基金会 16 2021年11月25日 PHP 8 1 发布 它包含了许多新功能 包括枚举 只读属性 First class 可调用语法 纤程 交集类型和性能改进等 17 2022年12月8日 PHP 8 2 发布 它包含了只读类 null false 和 true 作为独立的类型 废弃动态属性 性能改进等 18 版本歷程 编辑 代表意義紅色 过期版本 官方停止支援黃色 当前版本 官方仅提供安全问题修复綠色 当前版本 官方提供安全问题和一般问题的修复藍色 未來版本版本 釋出日期 结束支持日期 19 說明1 0 1995年6月8日 正式名稱為 Personal Home Page Tools PHP Tools 第一次使用了 PHP 的名字 9 2 0 1996年4月16日 針對PHP 1 0的改進版 速度更快 體積更小 更容易產生動態網頁 9 3 0 1998年6月6日 2000年10月20日 開發方式改成多人共同參與 Zeev Suraski和Andi Gutmans為了這個版本重寫了剖析引擎 9 4 0 2000年5月22日 2001年6月23日 改成以Zend引擎作為剖析器 具有兩階段剖析 標籤剖析系統等先進功能 20 4 1 2001年12月10日 2002年3月2日 加入 超全域變數 superglobals 功能 包含了 GET POST SESSION等 20 4 2 2002年4月22日 2002年9月6日 預設取消register globals功能 從網路接收的資料將不會設定成全域變數 增加程式安全性 20 4 3 2002年12月27日 2005年3月31日 加入命令列執行檔 稱為CLI 用以补充CGI 20 21 4 4 2005年7月11日 2008年8月8日 新增phpize 及 php config 的手冊頁 20 5 0 2004年7月13日 2005年9月5日 推出有着新的对象模型的Zend Engine II 22 5 1 2005年11月24日 2006年8月24日 在往重新设计的PHP引擎引入编译变量时做了性能提升 22 添加了PHP数据对象 PDO 作为访问数据库的统一接口 23 5 2 2006年11月2日 2011年1月6日 預設開啟 過濾 的擴充功能 22 原生的JSON支援 24 5 3 2009年6月30日 25 2014年8月14日 支持命名空间 使用XMLReader和XMLWriter增强XML支持 支持SOAP 26 延迟静态绑定 跳转标签 有限的goto 闭包 Native PHP archives 5 4 2012年3月1日 2015年9月3日 支持Trait 简短数组表达式 移除了register globals safe mode allow call time pass reference session register session unregister magic quotes以及session is registered 加入了内建的Web服务器 27 增强了性能 减小内存使用量 5 5 2013年6月20日 2016年7月10日 支持generators 用于异常处理的finally 将OpCache 基于 Zend Optimizer 加入官方发布中 5 6 2014年8月28日 2018年12月31日 支持常量标量表达式 可变参数函数 指数运算符 增加phpdbg SAPI 统一的默认字符集 28 6 x 未发布 不適用 取消掉的 从未正式发布的PHP版本 29 30 7 0 2015年12月3日 31 2018年12月3日 Zend Engine 3 性能提升 32 并在Windows上支持 64 bit 整数 统一的变量语法 基于抽象语法树编译过程 7 1 2016年12月1日 2019年12月1日 void返回值类型 类常量可见性修饰符 多异常捕获处理7 2 2017年11月30日 2020年11月30日 新的对象类型 通过名称加载扩展 重写抽象方法 Sodium为核心扩展7 3 2018年12月6日 2021年12月6日 更灵活的 Heredoc 和 Nowdoc 语法 数组解构支持引用赋值 Instanceof 运算符接受文字7 4 2019年11月28日 2022年11月28日 属性添加限定类型 箭头函数 空合并运算符赋值 数组展开操作8 0 2020年11月26日 2023年11月26日 JIT即时编译 增加命名参数 注解实现 构造器属性提升 联合类型 Match 表达式 Nullsafe 运算符 字符串与数字的比较更符合逻辑 内部函数类型错误的一致性 8 1 2021年11月25日 2024年11月25日 八进制整数文字表达前缀 支持字符串类型键的数组解包 参数展开后命名参数 纤程 交集类型 Never 类型 Readonly 属性 Final 类常量8 2 2022年12月8日 2025年12月8日 SensitiveParameter 属性 常量表达式中的枚举属性 类型系统提升 只读类8 3 2023年11月23日 2026年11月23日吉祥物 编辑 nbsp 吉祥物 elePHPantPHP計畫的吉祥物名叫 elePHPant PHP的logo在一頭藍象的裡面 由文森 龐蒂爾 Vincent Pontier 33 在1998年 34 設計 其設計概念是從側面看 PHP 像隻大象 35 當elePHPant被製作成毛絨玩具時 有時顏色會有不同 應用 编辑 nbsp 網路應用開發PHP是一個應用範圍很廣的語言 特別是在網路程式開發方面 一般來說PHP大多在伺服器端執行 透過執行PHP的程式碼來產生網頁提供瀏覽器讀取 此外也可以用來開發命令列腳本程式和使用者端的GUI應用程式 PHP可以在許多的不同種的伺服器 作業系統 平台上執行 也可以和許多資料庫系統結合 使用PHP不需要任何費用 官方組織PHP Group提供了完整的程序源代码 允許使用者修改 編譯 擴充來使用 36 安装方式 编辑 在Linux环境下 一般自带的软件源包含 PHP 但是版本过旧 多数情况使用编译安装 并且一般使用一些开源脚本帮助一键部署LNMP LAMP环境 在macOS环境下 支持 homebrew 安装 也支持源码编译 37 在Windows环境下 一般直接下载官方编译版本 或者使用 PHP 环境套件 其中包含 PHP MySQL Nginx Apache 一键启动 PHP 在 Windows 上的官方版本被推荐用于生产环境 如果有需要 你也可以从源码中构建 PHP 38 使用方式 编辑 PHP 5 3 3后内置 PHP fpm模块 用于管理PHP 进程池的软件 用于接受web服务器的请求 一般情况下 PHP 将会搭配 Http 服务器和数据库软件同时使用 在Linux平台常见的方案有 LAMP LNMP 在Windows 平台通常使用的 PHP 套件 如 XAMPP PHPStudy PHP 也支持的 Docker 环境下运行 同时 PHP 也支持命令行 单独以脚本的方式运行 例如php run php 39 流行度和使用统计 编辑 php 广泛的应用于各种开源程序 包括MediaWiki WordPress Joomla Drupal等 截至在2023年7月 根据w3techs统计 全世界的网站77 4 使用php 7 安全 编辑据National Vulnerability Database数据显示 与PHP有关的数据库攻击比例为 20 2004 28 2005 43 2006 36 2007 35 2008 and 32 2009 40 其中很多的漏洞都可以通过远程操作完成 如 黑客可以通过网络连接攻击服务器 达到盗取或毁坏数据 发送垃圾邮件或进行分散式阻斷服務攻擊 但是随着更多的关注 PHP也变得越来越安全了 现代PHP开发大部分使用例如Laravel Symfony这样的框架进行开发 框架自身提供了大量的安全防范措施 减少了SQL注入 XSS攻击等方式攻击的可能性 极大的提供了PHP应用的安全性 PHP官网被駭入事件 编辑 2010年12月17日 PHP代码 贡献者名单 中被加入 Wolegequ Gelivable 字样 中文含义 我勒个去 给力 约半小时后被删除 41 42 43 2011年3月19日 PHP官方发布声明 44 指出 黑客可能是通过wiki php net作为入口攻击了代码系统 并且 官方已经检查过自版本5 3 5以来釋出的代码 并没有发现恶意内容 但官方同时表示 尚未完全掌握黑客发动本次攻击的具体细节 語法 编辑PHP的語法參考了Perl C語言 而且可以整合在HTML之中 以下是一個簡單的Hello World程式碼 lt Hello World gt PHP剖析引擎只剖析 lt php到 gt 之間的程式碼 而不包含在 lt php到 gt 之間的內容則會直接送出 所以可以用以下的方式來將PHP程式碼嵌入在HTML之中 lt php PHP zh hans 代码 zh hant 程式碼 gt html內容 lt php PHP zh hans 代码 zh hant 程式碼 gt 在HTML中嵌入PHP时 比如需要單獨输出某個變數 除了正常採用 echo 方式外 也可以直接採用下列方式 lt title gt 但是上述這種方式曾經引起爭議 有的人並不推薦這種方式的縮寫 45 其原因為 並不是所有伺服器都支援縮寫 但在後期之後此選項為預設開啟 也有人因為採用這種方法 造成與 XML 搞混 46 的情況 在判斷語句中的HTML代碼並不會被直接送出 lt php if false gt HTML Code lt php gt PHP可以用三種註解的形式 C與C 所使用的 與 和Perl的 lt php 多行註解的第一行 多行註解的另一行 單行註解 單行註解 gt 類型 编辑 PHP主要有八种基本数据类型 47 其中包括 四種变量類型 整數型 integer 浮點數型 float 布尔型 boolean 字符串 string 兩種複合類型 陣列 array 对象 object 兩種特殊類型 NULL 資源 resource 變數 编辑 PHP中 變數以 後接变量名稱來表示 變數名稱區分大小寫 有效的變數名稱以字母或底線開頭 後接任意數目的字母 數字或底線 PHP也支持使用多字节文字作为變數名 48 物件導向 编辑 PHP從PHP 3開始有了基本的物件導向 Object oriented 的特性 但直到PHP 5將物件導向部份重新改寫之後 PHP的物件導向功能才比較完善 現在PHP可以說是一個有完整物件導向功能的語言 PHP相關資源 编辑PHP框架 编辑 主条目 PHP框架列表 使用PHP框架可以更快更简单的部署项目並提高开发效率 但学习使用这些框架需要付出额外的学习成本 最流行的PHP框架包括 Symfony Zend Framework Laravel Phalcon CodeIgniter Yii ThinkPHP等等 函式庫 编辑 內建多樣化的函數是PHP主要的特點之一 這些開放程式碼的函數提供了各種不同的功能 例如文件處理 FTP 字符串處理 等等 這些函數的使用方法和C語言相近 例如printf 這也是PHP廣為流行的原因之一 除了內建的函數之外 PHP也提供了很多扩展函式庫 extension 像是各種資料庫連接函數 資料壓縮函數 圖形處理等等 有些延伸函式庫需要從PECL PHP Extension Community Library 取得 以下是PHP程式語言提供的函式庫列表 Apache BCMath Bzip2 Calendars CCVS COM ClibPDF cURL Cybercash DB2 dBase DBM dbx DB DOM XML NET FileMaker Pro FrontBase filePro FriBiDi FTP Gettext GD Graphics Library GNU Multi Precision Library Hyperwave iconv IMAP POP3 and NNTP Informix Ingres II InterBase IRCLDAP Lotus Notes mailparse MCAL Mcrypt MCVE Mhash MIME Functions MS SQL Ming mnoGoSearch mSQL MySQL Mowhawk muscat Ncurses ODBC Oracle OpenSSL Ovrimos SQL PDF PayFlow Pro PDO POSIX PostgreSQL Printer Pspell GNU Readline GNU Recode Regular expressions QT Dom Semaphores SESAM Session Handling Shared memory SMTP SNMP Sockets SimpleXML SQLite Streams Sybase Token vpopmail WDDX Win32 API XML Xpath XML RPC XSLT YAZ Yellow Pages 網路資訊服務 NIS ZIP Zlib 原始碼編碼和加速 编辑 参见 PHP加速軟件 PHP原始碼是可以直接讀取的 即使放到伺服器上執行也是一樣 雖然讓PHP多了彈性 但相對的會造成安全危機和性能下降的問題 透過PHP編碼器 可以保護PHP的原始碼不被讀取 對商業軟體來說特別有需求 也可以提昇執行的效能 有許多公司或團體開發PHP的編碼器 將PHP程式編譯成位元組碼 byte code 再透過伺服器上安裝對應的程式來執行PHP腳本 除了透過編碼器加速之外 PHP還可以透過動態的快取機制來提昇速度 加速工具有商業版的 例如Zend Platform 也有開放原始碼的加速軟體如eAccelerator APC XCache PHP包管理器 编辑 Composer是PHP社区用来管理依赖关系的工具 一般在PHP项目中通过composer json声明依赖的外部PHP库 通过composer lock锁定具体的版本和文件 然后就可以使用Composer管理包依赖 截至到2023年7月 每个月Composer包安装次数在2000万左右 Composer包的总量在37 5万个 不同版本400万个 49 PHP編譯器 编辑PHP一直被當作直譯器使用 PHP編譯器則將PHP從直譯器中分離 為加快運行和改善與以其他程式語言編寫部份的互通性 例如Phalanger將PHP編譯成通用中间语言和Hiphop for PHP把PHP原始碼編譯成C 等 Facebook因應其網站大量的使用者 整合了HPHPc HPHPi HPHPd以及HHVM這四種腳本引擎 開發出HipHop for PHP 以加強網站效能 在 PHP 5 5 0 及后续版本中引入了OPcache 扩展 将编译好的操作码放入共享内存 提供给其他进程访问 在 PHP 8 引入了JIT支持 提高PHP 运行性能 發展 编辑PHP 7 编辑 基于PHPNG项目 PHP Next Gen 它能让透明提升PHP程序性能 使PHP7的性能和HHVM相当 抽象语法树编译 AST Abstract Syntax Tree 异步编程PHP 8 编辑 命名参数 联合类型 注解 构造器属性提升 match 表达式 nullsafe 运算符 JIT 并改进了类型系统 错误处理 语法一致性 50 枚举 只读属性 First class 可调用语法 纤程 交集类型和性能改进 17 只读类 null false 和 true 作为独立的类型 废弃动态属性 性能改进等 18 彩蛋 编辑PHP含有多個彩蛋 可以透過在網域名稱的後面加上特殊字串顯示彩蛋 例如 PHPE9568F36 D428 11d2 A769 00AA001ACF42則會出現PHP的logo PHP版本的不同 logo也會不同 不过该特性已经在5 5版本中被移除 51 趣聞 编辑PHP程式語言的官方文档中曾写过 PHP是最好的WEB开发語言 那其他的语言如何呢 52 但是这句话被華語圈的程式設計師讹传为 世界上最好的语言 并加以调侃 來源請求 註釋 编辑參考文獻 编辑引用 编辑 Lerdorf Rasmus PHP on Hormones history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara California The Conversations Network 2007 04 26 2009 12 11 原始内容存档于2019 01 06 Version 8 3 0 2023年11月23日 2023年11月23日 PHP 序言 2013 05 13 原始内容存档于2013 08 06 the PHP Group 2015 07 24 原始内容存档于2015 07 24 GPL Incompatible Free Software Licenses Various Licenses and Comments about Them Free Software Foundation 2008 02 22 原始内容存档于2008 12 16 Usage Stats for April 2007 2015 02 26 原始内容存档于2015 03 01 7 0 7 1 Usage statistics of PHP for websites w3techs 2023 07 07 php net history 2018 08 12 原始内容存档于2018 08 16 9 0 9 1 9 2 9 3 9 4 9 5 9 6 9 7 History of PHP and related projects The PHP Group 2008 02 25 原始内容存档于2008 07 08 Lerdorf Rasmus Announce Personal Home Page Tools PHP Tools Newsgroup comp infosystems www authoring cgi 1995 06 08 2006 09 17 原始内容存档于2006 09 03 Zend Engine version 2 0 Feature Overview and Design Zend Technologies Ltd 2006 09 17 原始内容存档于2006 07 19 Trachtenberg Adam Why PHP 5 Rocks O Reilly 2004 07 15 2008 02 22 原始内容存档于2016 03 31 php net 2007 news archive The PHP Group 2007 07 13 2008 02 22 原始内容存档于2019 04 07 Kerner Sean Michael PHP 4 is Dead Long Live PHP 5 InternetNews 2008 02 01 2008 03 16 原始内容存档于2016 03 24 PHP PHP 8 0 0 Release Announcement The PHP Group 2023 07 08 原始内容存档于2023 07 08 The New Life of PHP The PHP Foundation JetBrains s r o 2023 07 07 原始内容存档于2023 08 10 已忽略文本 The PhpStorm Blog 帮助 17 0 17 1 PHP PHP 8 1 0 Release Announcement The PHP Group 2023 07 08 原始内容存档于2023 07 08 18 0 18 1 PHP PHP 8 2 0 Release Announcement The PHP Group 2023 07 08 原始内容存档于2023 07 08 PHP Unsupported Branches php net 2016 06 17 原始内容存档于2019 05 15 20 0 20 1 20 2 20 3 20 4 PHP PHP 4 ChangeLog The PHP Group 2008 01 03 2008 02 22 原始内容存档于2008 02 28 PHP Command line usage Manual php net 2016 06 17 原始内容存档于2016 06 26 22 0 22 1 22 2 PHP PHP 5 ChangeLog The PHP Group 2007 11 08 2008 02 22 原始内容存档于2008 02 27 PHP Introduction Manual php net 2016 06 17 原始内容存档于2016 07 03 PHP PHP 5 ChangeLog www php net 2016 06 17 原始内容存档于2016 06 17 存档副本 2018 08 12 原始内容存档于2018 08 11 Zend Weekly Summaries Issue 359 2008 12 16 原始内容存档于2009 01 03 Built in web server 2012 03 26 原始内容存档于2012 03 20 PHP PHP 5 Changelog 2018 08 12 原始内容存档于2018 08 13 Resetting PHP 6 2015 07 24 原始内容存档于2015 07 24 There have been books on the shelves purporting to cover PHP 6 since at least 2008 But in March 2010 the PHP 6 release is not out in fact it is not even close to out Recent events suggest that PHP 6 will not be released before 2011 if indeed it is released at all PHP 7 moves full speed ahead 2015 07 24 原始内容存档于2015 07 24 Recent versions of PHP have been part of the 5 x release series but there will be no PHP 6 We re going to skip version 6 because years ago we had plans for a 6 but those plans were very different from what we re doing now Gutmans said Going right to version 7 avoids confusion PHP todo php70 2015 05 27 2015 06 01 原始内容存档于2015 06 21 PHP phpng wiki php net 2016 06 17 原始内容存档于2016 06 16 PHP ElePHPant 2014 10 04 2014 10 04 原始内容存档于2014 10 04 What is ElePHPant and Why PHP Uses Elephants in Some Logotypes 2017 09 30 原始内容存档于2017 02 14 The PHP Mascot s Birth Creator Of The elePHPant Vincent Pontier Reveals The True Story 2018 08 13 原始内容存档于2018 08 13 Embedding PHP in HTML O Reilly 2001 05 03 2008 02 25 原始内容存档于2008 02 19 macOS 系统下的安装 The PHP Group 2023 07 08 原始内容存档于2023 10 28 Windows 系统下的安装 The PHP Group 2023 07 08 原始内容存档于2023 11 09 PHP 在 Microsoft Windows 下的命令行方式 The PHP Group 2023 07 08 原始内容存档于2023 07 08 PHP related vulnerabilities on the National Vulnerability Database 2008 03 01 2009 08 20 原始内容存档于2009 06 28 1 失效連結 PHP developer wiki server hacked 2013 12 28 原始内容存档于2013 12 28 PHP官方网站被入侵 近期请勿从官方下载源码 2013 12 28 原始内容存档于2013 12 28 存档副本 2018 08 12 原始内容存档于2018 08 13 2 页面存档备份 存于互联网档案馆 Why are echo short tags permanently enabled as of PHP 5 4 3 页面存档备份 存于互联网档案馆 Escaping lt on php shorthand enabled server when using require Types Introduction 页面存档备份 存于互联网档案馆 The PHP Group Language variables 页面存档备份 存于互联网档案馆 The PHP Group PHP Version Statistics Packagist Packagist 2023 07 08 原始内容存档于2023 10 18 PHP PHP 8 0 0 Release Announcement The PHP Group 2023 07 08 原始内容存档于2023 07 08 expose php 2018 08 12 原始内容存档于2018 08 13 原文 PHP is the best language for web programing but what about other languages PHP PHP and other languages Manual web archive org 2010 05 07 2019 02 21 原始内容存档于2010 05 07 来源 编辑 网页PHP手冊 页面存档备份 存于互联网档案馆 函数参考 页面存档备份 存于互联网档案馆 外部連結 编辑从维基百科的姊妹计划了解更多有关 PHP 的内容 nbsp 维基共享资源上的多媒体资源 nbsp 维基教科书上的教科书和手册 nbsp 维基学院上的學習资源官方网站 开放式目录计划中和PHP相关的内容 PHP wiki 页面存档备份 存于互联网档案馆 PHP参考手册 页面存档备份 存于互联网档案馆 CentOS下安装PHP7 页面存档备份 存于互联网档案馆 Rocky Linux 8 安裝多個 PHP 版本 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title PHP amp oldid 79941112, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。