Apache是最常用的Web服務(wù)器之一,它是以開源的方式開發(fā)的。因此,社區(qū)可以通過在源代碼中添加新功能和修復(fù)錯誤來改進(jìn)它。 我們經(jīng)常聽到一些 PHP 開發(fā)人員提到某些應(yīng)用程序在 Apache 上運行不好。當(dāng) Apache 不支持 PHP 或支持的版本落后時,這是常見現(xiàn)象。
現(xiàn)在,我們最好了解一下 Apache 幾個版本之間的區(qū)別,以及它們在 PHP7上的支持情況。 對于 PHP 代碼,Apache 支持的版本主要有物理內(nèi)核 Apache 2.2 和 Apache 2.4,雖然還有一些不同的“家庭”分支。 以下是對兩個主要版本支持的 PHP 更深入的探討。
Apache 2.2 支持 PHP 7?
LoadModule php7_module modules/libphp7.so
對于Apache 2.2版本,它并不直接支持PHP 7,很多 PHP 7 環(huán)境都是在 Apache 2.4 上運行的。但是,如果要在 Apache 2.2 上運行該應(yīng)用程序,可以通過安裝額外的模塊來實現(xiàn)這一點。
借助以下代碼,您可以在httpd.conf文件中啟用或添加模塊。
LoadModule php7_module modules/libphp7.so
AddHandler php7-script .php
DirectoryIndex index.php
這些設(shè)置告訴 Apache 以 PHP 7 編譯器擴(kuò)展運行 .php 腳本,并把它們加載到對應(yīng)的模塊中處理。 需要注意的是 libphp7.so 應(yīng)該指向您的 PHP 7預(yù)編譯模塊。 這可以通過檢查您的 PHP 7 安裝手冊中的編譯配置文件來完成。
Apache 2.4 支持 PHP 7?
Apache 2.4 支持 PHP 7,因為該版本的 Apache 已經(jīng)提供了與 PHP 運行所需的模塊。 如果您的 Apache 版本足夠新,那么您只需要使用 Apache 2.4 和 PHP 7 安裝軟件包來運行 PHP 代碼。
Apache 2.4 包含從多個源自動收集的語音和命令,因此可以無縫地啟用 PHP 7 的 Apache 支持。 這使得運行 PHP 7 腳本的過程變得更加簡單,只需要安裝 PHP 包就可以了。 以下命令是基于 Linux Fedora / CentOS 系統(tǒng)的流程。
Linux CentOS 7 - 安裝Apache 2.4和PHP 7
sudo yum update
sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
sudo yum install php70
sudo systemctl restart httpd
在上面的命令中,我們首先更新了所有軟件包,然后安裝了最新的 Apache 2.4、啟用了httpd 服務(wù)、安裝了 PHP 7。最后一行命令只是重新啟動 Apache 以應(yīng)用 PHP 7 的最新配置。
總結(jié)
在本文中,我們討論了 Apache 2.2 和 2.4 版本中對 PHP 7 的支持。如果您正在使用Apache 2.2,需要手動安裝 PHP 7 模塊來支持 PHP 7 解釋器。然而,在 Apache 2.4中,您可以輕松地通過 PHP 包來實現(xiàn)自動解析 PHP 7。
由于 Apache 的靈活性,因此可以自定義并配置使 PHP 7 在您的環(huán)境中運行。這種自定義以及使用最新版本的軟件包可以大大提高 PHP 7 的性能。