<p><b>PHP</b>（全稱：<b>P</b>HP：<b>H</b>ypertext <b>P</b>reprocessor，即「PHP：超文字預處理器」）是一種開源的通用電腦手稿語言，尤其適用於網路開發並可嵌入HTML中使用。PHP的語法借鑑吸收C語言、Java和Perl等流行電腦語言的特點，易於一般程式設計師學習。PHP的主要目標是允許網路開發人員快速編寫動態頁面，但PHP也被用於其他很多領域。</p><p>PHP最初是由勒多夫在1995年開始開發的；現在PHP的標準由the PHP Group維護。PHP以PHP License作為許可協定，不過因為這個協定限制了PHP名稱的使用，所以和開放原始碼許可協定GPL不相容。</p><p>PHP的應用範圍相當廣泛，尤其是在網頁程式的開發上。一般來說PHP大多執行在網頁伺服器上，通過執行PHP程式碼來產生使用者瀏覽的網頁。PHP可以在多數的伺服器和作業系統上執行。根據2013年4月的統計資料，PHP已經被安裝在超過2億4400萬個網站和210萬台伺服器上。
</p><p>PHP在Windows上有專門的官方移植編譯專案，並且分多個VC編譯器版本和執行緒安全特性來提供不同的版本支援。
</p><p>根據W3Techs的報告，截至2021年9月：「有78.9%的網站使用PHP。」</p>


<h2><span id=".E9.96.8B.E7.99.BC.E6.AD.B7.E5.8F.B2"></span><span id="開發歷史">開發歷史</span></h2>


<p><i>PHP</i>原本的簡稱為Personal Home Page，是拉斯姆斯·勒多夫為了要維護個人網頁，而用C語言開發的一些CGI工具程式集，來取代原先使用的Perl程式。最初這些工具程式用來顯示拉斯姆斯·勒多夫的個人履歷，以及統計網頁流量。他將這些程式和一些表單直譯器整合起來，稱為PHP/FI。PHP/FI可以和資料庫連接，產生簡單的動態網頁程式。拉斯姆斯·勒多夫在1995年6月8日將PHP/FI公開釋出，希望可以透過社群來加速程式開發與尋找錯誤。這個釋出的版本命名為PHP 2，已經有今日PHP的一些雛型，像是類似Perl的變數命名方式、表單處理功能、以及嵌入到HTML中執行的能力。程式語法上也類似Perl，有較多的限制，不過更簡單、更有彈性。</p><p>在1997年，任職於Technion IIT公司的兩個以色列程式設計師：Zeev Suraski和Andi Gutmans，重寫了PHP的剖析器，成為PHP 3的基礎，而PHP也在這個時候改稱為<i>PHP: Hypertext Preprocessor</i>.。經過幾個月測試，開發團隊在1997年11月釋出了PHP/FI 2，隨後就開始PHP 3的開放測試，最後在1998年6月正式釋出PHP 3。Zeev Suraski和Andi Gutmans在PHP 3釋出後開始改寫PHP的核心，這個在1999年釋出的剖析器稱為Zend Engine，他們也在以色列的Ramat Gan成立了Zend Technologies來管理PHP的開發。</p><p>在2000年5月22日，以Zend Engine 1.0為基礎的PHP 4正式釋出，2004年7月13日則釋出了PHP 5，PHP 5則使用了第二代的Zend Engine。PHP 5包含了許多新特色，像是強化的物件導向功能、引入PDO（PHP Data Objects，一個存取資料庫的延伸函式庫）、以及許多效能上的增強。目前PHP 4已經不會繼續更新，以鼓勵使用者轉移到PHP 5。</p><p>2008年時，PHP 5成為了PHP唯一維護中的穩定版本。
</p><p>PHP 7的首個版本於2015年12月3日開發完成，包含了大量效能上的改進，同時也帶來了一些新特性，最值得注意的是返回值類型聲明、純量類型聲明（可用於參數及返回值）。
</p>
<h3><span id=".E7.89.88.E6.9C.AC.E6.AD.B7.E7.A8.8B"></span><span id="版本歷程">版本歷程</span></h3>
<h2><span id=".E5.90.89.E7.A5.A5.E7.89.A9"></span><span id="吉祥物"><span id="ELEPHPANT"></span>吉祥物</span></h2>

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

<h2><span id=".E6.87.89.E7.94.A8"></span><span id="應用">應用</span></h2>

<p>PHP是一個應用範圍很廣的語言，特別是在網路程式開發方面。一般來說PHP大多在伺服器端執行，透過執行PHP的程式碼來產生網頁提供瀏覽器讀取，此外也可以用來開發命令列指令碼程式和使用者端的GUI應用程式。PHP可以在許多的不同種的伺服器、作業系統、平台上執行，也可以和許多資料庫系統結合。使用PHP不需要任何費用，官方組織PHP Group提供了完整的程式原始碼，允許使用者修改、編譯、擴充來使用。</p>
<h2><span id=".E5.AE.89.E5.85.A8"></span><span id="安全">安全</span></h2>
<p>據National Vulnerability Database資料顯示，與PHP有關的資料庫攻擊比例為：20% 2004, 28% 2005, 43% 2006, 36% 2007, 35% 2008 and 32% 2009。其中很多的漏洞都可以通過遠端操作完成，如：駭客可以通過網路連接攻擊伺服器，達到盜取或毀壞資料，傳送垃圾郵件或進行分散式阻斷服務攻擊。但是隨著更多的關注，PHP也變得越來越安全了。
</p>
<h3><span id="PHP.E5.AE.98.E7.BD.91.E8.A2.AB.E9.A7.AD.E5.85.A5.E4.BA.8B.E4.BB.B6"></span><span id="PHP官网被駭入事件">PHP官網被駭入事件</span></h3>
<p>2010年12月17日，PHP代碼「貢獻者名單」中被加入「Wolegequ Gelivable」字樣（中文含義「我勒個去 給力」），約半小時後被刪除。2011年3月19日，PHP官方釋出聲明指出，駭客可能是通過wiki.php.net作為入口攻擊了代碼系統。並且，官方已經檢查過自版本5.3.5以來釋出的代碼，並沒有發現惡意內容。但官方同時表示，尚未完全掌握駭客發動本次攻擊的具體細節。
</p>
<h2><span id=".E8.AA.9E.E6.B3.95"></span><span id="語法">語法</span></h2>
<p>PHP的語法參考了Perl、C語言，而且可以整合在HTML之中，以下是一個簡單的Hello World程式碼：
</p>

<p>PHP剖析引擎只剖析<b>&lt;?php</b>到<b>?&gt;</b>之間的程式碼，而不包含在<b>&lt;?php</b>到<b>?&gt;</b>之間的內容則會直接送出，所以可以用以下的方式來將PHP程式碼嵌入在HTML之中：
</p>

<p>在HTML中嵌入PHP時，比如需要單獨輸出某個變數，除了正常採用 echo 方式外，也可以直接採用下列方式：
</p>

<p>但是上述這種方式曾經引起爭議，有的人並不推薦這種方式的縮寫（其原因為：並不是所有伺服器都支援縮寫，但在後期之後此選項為預設開啟），也有人因為採用這種方法，造成與 XML 搞混的情況。
</p><p>在判斷語句中的HTML代碼並不會被直接送出：
</p>

<p>PHP可以用三種註解的形式：C與C++所使用的「/*...*/」與「//」，和Perl的「#」。
</p>

<h3><span id=".E9.A1.9E.E5.9E.8B"></span><span id="類型">類型</span></h3>
<p>PHP主要有八種基本資料類型，其中包括：
</p>
<ul><li>四種變數類型
<ul><li>整數型（integer）</li>
<li>浮點數型（float）</li>
<li>布林型（boolean）</li>
<li>字串（string）</li></ul></li>
<li>兩種複合類型
<ul><li>陣列（array）</li>
<li>物件（object）</li></ul></li>
<li>兩種特殊類型
<ul><li>NULL</li>
<li>資源 （resource）</li></ul></li></ul><h3><span id=".E8.AE.8A.E6.95.B8"></span><span id="變數">變數</span></h3>
<p>PHP中，變數以「$」後接變數名稱來表示。 變數名稱區分大小寫。
</p><p>有效的變數名稱以字母或底線開頭，後接任意數目的字母、數字或底線，PHP也支援使用多位元組文字作為變數名。</p>
<h3><span id=".E7.89.A9.E4.BB.B6.E5.B0.8E.E5.90.91"></span><span id="物件導向">物件導向</span></h3>
<p>PHP從PHP 3開始有了基本的物件導向（Object oriented）的特性，但直到PHP 5將物件導向部份重新改寫之後，PHP的物件導向功能才比較完善。現在PHP可以說是一個有完整物件導向功能的語言。
</p>
<h2><span id="PHP.E7.9B.B8.E9.97.9C.E8.B3.87.E6.BA.90"></span><span id="PHP相關資源">PHP相關資源</span></h2>
<h3><span id="PHP.E6.A1.86.E6.9E.B6"></span><span id="PHP框架">PHP架構</span></h3>

<p>使用PHP架構可以更快更簡單的部署專案並提高開發效率，但學習使用這些架構需要付出額外的學習成本。
</p><p>最流行的PHP架構包括：Symfony, Zend Framework, Laravel、Phalcon、CodeIgniter、Yii、ThinkPHP等等。
</p>
<h3><span id=".E5.87.BD.E5.BC.8F.E5.BA.AB"></span><span id="函式庫">函式庫</span></h3>
<p>內建多樣化的函式是PHP主要的特點之一，這些開放程式碼的函式提供了各種不同的功能，例如檔案處理、FTP、字串處理、等等。這些函式的使用方法和C語言相近（例如<tt>printf</tt>），這也是PHP廣為流行的原因之一。
</p><p>除了內建的函式之外，PHP也提供了很多延伸函式庫（extension），像是各種資料庫連接函式、資料壓縮函式、圖形處理等等。有些延伸函式庫需要從PECL（PHP Extension Community Library）取得。
</p><p>以下是<b>PHP</b>程式語言提供的函式庫列表
</p>

<h3><span id=".E5.8E.9F.E5.A7.8B.E7.A2.BC.E7.B7.A8.E7.A2.BC.E5.92.8C.E5.8A.A0.E9.80.9F"></span><span id="原始碼編碼和加速">原始碼編碼和加速</span></h3>

<p>PHP原始碼是可以直接讀取的，即使放到伺服器上執行也是一樣。雖然讓PHP多了彈性，但相對的會造成安全危機和效能下降的問題。
</p><p>透過PHP編碼器，可以保護PHP的原始碼不被讀取（對商業軟體來說特別有需求），也可以提昇執行的效能。有許多公司或團體開發PHP的編碼器，將PHP程式編譯成位元組碼（byte code），再透過伺服器上安裝對應的程式來執行PHP指令碼。
</p><p>除了透過編碼器加速之外，PHP還可以透過動態的快取機制來提昇速度，加速工具有商業版的，例如<span lang="en">Zend Platform</span>，也有開放原始碼的加速軟體如eAccelerator、APC、XCache。
</p>
<h3><span id="php.E5.8C.85.E7.AE.A1.E7.90.86.E5.99.A8"></span><span id="php包管理器">php包管理器</span></h3>
<p>Composer是php社群用來管理依賴關係的工具，一般在php專案中通過composer.json聲明依賴的外部php庫，然後就可以使用Composer管理包依賴。
</p>
<h2><span id="PHP.E7.B7.A8.E8.AD.AF.E5.99.A8"></span><span id="PHP編譯器">PHP編譯器</span></h2>
<p>PHP一直被當作直譯器使用。PHP編譯器則將PHP從直譯器中分離，為加快運行和改善與以其他程式語言編寫部份的互通性，例如Phalanger將PHP編譯成通用中間語言和Hiphop for PHP把PHP原始碼編譯成C++等。Facebook因應其網站大量的使用者，整合了HPHPc、HPHPi、HPHPd以及HHVM這四種指令碼引擎，開發出HipHop for PHP，以加強網站效能。
</p>
<h2><span id=".E7.99.BC.E5.B1.95"></span><span id="發展">發展</span></h2>
<h3><span id="PHP_7">PHP 7</span></h3>
<ul><li>基於PHPNG專案（PHP Next-Gen），它能讓透明提升PHP程式效能，使PHP7的效能和HHVM相當</li>
<li>JIT引擎</li>
<li>抽象語法樹編譯 AST: Abstract Syntax Tree</li>
<li>非同步編程</li></ul><h2><span id=".E5.BD.A9.E8.9B.8B"></span><span id="彩蛋">彩蛋</span></h2>
<p>PHP含有多個彩蛋，可以透過在網域名稱的後面加上特殊字串顯示彩蛋。例如，<code>?=PHPE9568F36-D428-11d2-A769-00AA001ACF42</code>則會出現PHP的logo，PHP版本的不同，logo也會不同；不過該特性已經在5.5版本中被移除。
</p>
<h2><span id=".E8.B6.A3.E8.81.9E"></span><span id="趣聞">趣聞</span></h2>
<p>PHP程式語言的官方文件中曾寫過「PHP是最好的WEB開發語言，那其他的語言如何呢？」，但是這句話被華語圈的程式設計師訛傳為「世界上最好的語言」並加以調侃。</p>
<h2><span id=".E8.A8.BB.E9.87.8B"></span><span id="註釋">註釋</span></h2>

<h2><span id=".E5.8F.83.E8.80.83.E6.96.87.E7.8D.BB"></span><span id="參考文獻">參考文獻</span></h2>
<h3><span id=".E5.BC.95.E7.94.A8"></span><span id="引用">參照</span></h3>

<h3><span id=".E6.9D.A5.E6.BA.90"></span><span id="来源">來源</span></h3>
<dl><dt>網頁</dt></dl><ul><li>PHP手冊（頁面存檔備份，存於網際網路檔案館）</li>
<li>函式參考（頁面存檔備份，存於網際網路檔案館）</li></ul><h2><span id=".E5.A4.96.E9.83.A8.E9.80.A3.E7.B5.90"></span><span id="外部連結">外部連結</span></h2>
<ul><li><span><span>官方網站</span></span></li>
<li>開放式目錄計劃中和PHP相關的內容</li>
<li>PHP wiki（頁面存檔備份，存於網際網路檔案館）</li>
<li>PHP參考手冊（頁面存檔備份，存於網際網路檔案館）</li>
<li>CentOS下安裝PHP7（頁面存檔備份，存於網際網路檔案館）</li>
<li>Rocky Linux 8 安裝多個 PHP 版本 （頁面存檔備份，存於網際網路檔案館）</li></ul><p class="mw-empty-elt">

</p>
<!-- 
NewPP limit report
Parsed by mw1426
Cached time: 20230505225930
Cache expiry: 3632
Reduced expiry: true
Complications: [show‐toc]
CPU time usage: 1.353 seconds
Real time usage: 1.568 seconds
Preprocessor visited node count: 6769/1000000
Post‐expand include size: 502344/2097152 bytes
Template argument size: 7490/2097152 bytes
Highest expansion depth: 30/100
Expensive parser function count: 70/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 48016/5000000 bytes
Lua time usage: 0.768/10.000 seconds
Lua memory usage: 19023071/52428800 bytes
Number of Wikibase entities loaded: 1/400
--><!--
Transclusion expansion time report (%,ms,calls,template)
100.00% 1168.164      1 -total
 33.12%  386.920      1 Template:Infobox_programming_language
 28.51%  333.003      1 Template:Infobox
 22.59%  263.882     11 Template:Wikidata
 18.43%  215.337      8 Template:Navbox
 17.46%  204.012      1 Template:Expand_language
 16.93%  197.749      1 Template:Reflist
 16.14%  188.536      2 Template:Ambox
 16.06%  187.652      1 Template:Official_URL
 14.31%  167.207      3 Template:URL
-->
**PHP**（全稱：**P**HP：**H**ypertext **P**reprocessor，即「PHP：超文字預處理器」）是一種開源的通用電腦手稿語言，尤其適用於網路開發並可嵌入 HTML 中使用。PHP 的語法借鑑吸收 C 語言、Java 和 Perl 等流行電腦語言的特點，易於一般程式設計師學習。PHP 的主要目標是允許網路開發人員快速編寫動態頁面，但 PHP 也被用於其他很多領域。

PHP 最初是由勒多夫在 1995 年開始開發的；現在 PHP 的標準由 the PHP Group 維護。PHP 以 PHP License 作為許可協定，不過因為這個協定限制了 PHP 名稱的使用，所以和開放原始碼許可協定 GPL 不相容。

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

PHP 在 Windows 上有專門的官方移植編譯專案，並且分多個 VC 編譯器版本和執行緒安全特性來提供不同的版本支援。

根據 W3Techs 的報告，截至 2021 年 9 月：「有 78.9% 的網站使用 PHP。」

## 開發歷史

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

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

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

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

PHP 7 的首個版本於 2015 年 12 月 3 日開發完成，包含了大量效能上的改進，同時也帶來了一些新特性，最值得注意的是返回值類型聲明、純量類型聲明（可用於參數及返回值）。

### 版本歷程

## 吉祥物

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

## 應用

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

## 安全

據 National Vulnerability Database 資料顯示，與 PHP 有關的資料庫攻擊比例為：20% 2004, 28% 2005, 43% 2006, 36% 2007, 35% 2008 and 32% 2009。其中很多的漏洞都可以通過遠端操作完成，如：駭客可以通過網路連接攻擊伺服器，達到盜取或毀壞資料，傳送垃圾郵件或進行分散式阻斷服務攻擊。但是隨著更多的關注，PHP 也變得越來越安全了。

### PHP 官網被駭入事件

2010 年 12 月 17 日，PHP 代碼「貢獻者名單」中被加入「Wolegequ Gelivable」字樣（中文含義「我勒個去 給力」），約半小時後被刪除。2011 年 3 月 19 日，PHP 官方釋出聲明指出，駭客可能是通過 wiki.php.net 作為入口攻擊了代碼系統。並且，官方已經檢查過自版本 5.3.5 以來釋出的代碼，並沒有發現惡意內容。但官方同時表示，尚未完全掌握駭客發動本次攻擊的具體細節。

## 語法

PHP 的語法參考了 Perl、C 語言，而且可以整合在 HTML 之中，以下是一個簡單的 Hello World 程式碼：

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

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

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

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

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

### 類型

PHP 主要有八種基本資料類型，其中包括：

* 四種變數類型
  * 整數型（integer）
  * 浮點數型（float）
  * 布林型（boolean）
  * 字串（string）
* 兩種複合類型
  * 陣列（array）
  * 物件（object）
* 兩種特殊類型
  * NULL
  * 資源 （resource）

### 變數

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

有效的變數名稱以字母或底線開頭，後接任意數目的字母、數字或底線，PHP 也支援使用多位元組文字作為變數名。

### 物件導向

PHP 從 PHP 3 開始有了基本的物件導向（Object oriented）的特性，但直到 PHP 5 將物件導向部份重新改寫之後，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** 程式語言提供的函式庫列表

### 原始碼編碼和加速

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

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

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

### php 包管理器

Composer 是 php 社群用來管理依賴關係的工具，一般在 php 專案中通過 composer.json 聲明依賴的外部 php 庫，然後就可以使用 Composer 管理包依賴。

## PHP 編譯器

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

## 發展

### PHP 7

* 基於 PHPNG 專案（PHP Next-Gen），它能讓透明提升 PHP 程式效能，使 PHP7 的效能和 HHVM 相當
* JIT 引擎
* 抽象語法樹編譯 AST: Abstract Syntax Tree
* 非同步編程

## 彩蛋

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

## 趣聞

PHP 程式語言的官方文件中曾寫過「PHP 是最好的 WEB 開發語言，那其他的語言如何呢？」，但是這句話被華語圈的程式設計師訛傳為「世界上最好的語言」並加以調侃。

## 註釋

## 參考文獻

### 參照

### 來源

**網頁**

* PHP 手冊（頁面存檔備份，存於網際網路檔案館）
* 函式參考（頁面存檔備份，存於網際網路檔案館）

## 外部連結

* 官方網站
* 開放式目錄計劃中和 PHP 相關的內容
* PHP wiki（頁面存檔備份，存於網際網路檔案館）
* PHP 參考手冊（頁面存檔備份，存於網際網路檔案館）
* CentOS 下安裝 PHP7（頁面存檔備份，存於網際網路檔案館）
* Rocky Linux 8 安裝多個 PHP 版本 （頁面存檔備份，存於網際網路檔案館）
.php