當(dāng)前位置: 首頁(yè)編程開發(fā)PHP → Unix 平臺(tái)的 Apache 2.0 下安裝 PHP 的說明和提示

Unix 平臺(tái)的 Apache 2.0 下安裝 PHP 的說明和提示

更多
Warning

不推薦將線程化 MPM 用于實(shí)際運(yùn)作的 Apache 2 環(huán)境中去。用 prefork MPM 替代,或者用 Apache 1。其原因見 FAQ 中的使用線程化 MPM 的 Apache2。

推薦閱讀 » Apache 文檔,了解一下 Apache 2.0 服務(wù)器。

Note: PHP 和 Apache 2.0.x 兼容性注意事項(xiàng)
已知下列版本的 PHP 可以工作于最近版本的 Apache 2.0.x 之下:

  • PHP 4.3.0 或更高版本,可從 » http://www.php.net/downloads.php 下載。
  • 最新的穩(wěn)定開發(fā)版。取得源代碼 » http://snaps.php.net/php5-latest.tar.gz 或下載 Windows 可執(zhí)行程序 » http://snaps.php.net/win32/php5-win32-latest.zip。
  • 預(yù)發(fā)布版,可從 » http://qa.php.net/ 下載。
  • 總是可以通過» 匿名 CVS 取得 PHP。

以上版本的 PHP 與 Apache 2.0.40 或更高版本兼容。
Apache 2.0 SAPI 支持自 PHP 4.2.0 起。PHP 4.2.3 可工作于 2.0.39,不要用任何其它版本的 Apache 與 PHP 4.2.3 配合。不過推薦的設(shè)置是用 PHP 4.3.0 或更高版本與最新版的 Apache2 配合使用。
所有提及的 PHP 版本仍然能工作于 Apache 1.3.x 之下。

下載最新版本的 » Apache 2.0,并且根據(jù)上文選擇合適版本的 PHP 下載。本向?qū)H包含最基礎(chǔ)的內(nèi)容,只能讓 Apache 2.0 和 PHP 能夠正常工作。更多信息請(qǐng)閱讀 » Apache 文檔。這里省略所有的版本號(hào),以保證本文的正確性。需要將本文的“NN”替換為相應(yīng)的版本號(hào)。

Example #1 安裝說明(Apache 2 共享模塊版本)

1.  gzip -d httpd-2_0_NN.tar.gz 2.  tar xvf httpd-2_0_NN.tar 3.  gunzip php-NN.tar.gz 4.  tar -xvf php-NN.tar 5.  cd httpd-2_0_NN 6.  ./configure --enable-so 7.  make 8.  make install      現(xiàn)在已經(jīng)將 Apache 2.0.NN 安裝在 /usr/local/apache。本安裝支持可裝載模塊     和標(biāo)準(zhǔn)的 MPM prefork。之后,可以使用如下命令啟動(dòng) Apache 服務(wù)器:     /usr/local/apache2/bin/apachectl start     如果成功,可以停止 Apache 服務(wù)器并繼續(xù)安裝 PHP:     /usr/local/apache2/bin/apachectl stop.  9.  cd ../php4-NN  10. 現(xiàn)在需要配置 PHP。在這里可以用各種各樣的參數(shù)來自定義PHP,例如啟動(dòng)哪些     擴(kuò)展功能包的支持等。用 ./configure --help 命令可以列出當(dāng)前可用的所有參     數(shù)。在此例中,將給出一個(gè)在有 MySQL 支持的 Apache 2 上進(jìn)行配置的范例。     用戶本地的 apxs 的路徑可能會(huì)不同,事實(shí)上,在用戶的系統(tǒng)中,它可能被命名為     apxs2。      ./configure --with-apxs2=/usr/local/apache2/bin/apxs  11. make 12. make install      如果決定在安裝后改變配置選項(xiàng),只需重復(fù)最后的三步,然后需要重新啟動(dòng) Apache     使新模塊生效。無(wú)需重新編譯。      請(qǐng)注意,除非明確有提示,否則“make install”命令將安裝 PEAR、各種 PHP 工具     諸如 phpize,安裝 PHP CLI 等等。  13. 配置 php.ini      cp php.ini-dist /usr/local/lib/php.ini      可以編輯 php.ini 文件以修改 PHP 的選項(xiàng)。如果想要把此文件放到另外的位置,     需要在步驟 10 添加 --with-config-file-path=/path 選項(xiàng)。      如果選擇 php.ini -recommended,請(qǐng)務(wù)必閱讀其中的變更的列表,它們將影響     PHP 的執(zhí)行。  14. 編輯 httpd.conf 文件以調(diào)用 PHP 模塊。LoadModule 表達(dá)式右邊的路徑必須指向     系統(tǒng)中的 PHP。以上的 make install 命令可能已經(jīng)完成了這些,但務(wù)必要檢查。      對(duì)于 PHP 4:        LoadModule php4_module modules/libphp4.so      對(duì)于 PHP 5:        LoadModule php5_module modules/libphp5.so  15. 告知 Apache 將特定的擴(kuò)展名解析成 PHP,例如,讓 Apache 將擴(kuò)展名 .php     解析成 PHP。可以將任何擴(kuò)展名指定為 PHP,只需添加它們,每一個(gè)用空格分隔。     例如,要添加 .phtml:      AddType application/x-httpd-php .php .phtml      通常還將 .phps 擴(kuò)展名設(shè)置成顯示高亮的 PHP 源文件,可以這樣來完成:      AddType application/x-httpd-php-source .phps  16. 啟動(dòng) Apache 服務(wù)器:    /usr/local/apache2/bin/apachectl start  

按照上面的步驟便可以使 Apache 2.0 將 PHP 作為 SAPI 模塊了。當(dāng)然 Apache 和 PHP 都還有很多配置選項(xiàng),可以在相應(yīng)的源代碼目錄中使用 ./configure --help 獲得更多信息。假如要編譯一個(gè)多線程版本的 Apache 2.0,必須覆蓋標(biāo)準(zhǔn)的 MPM-Module prefork,或者 worker 或者 perchild。要這樣,需要在上面的第 6 步使用 --with-mpm=worker 或者 --with-mpm=perchild 選項(xiàng)。之前需要了解自己在做什么。更多信息請(qǐng)參考 Apache 文檔中關(guān)于 » MPM-Modules 的部分。

Note: 如果要使用內(nèi)容協(xié)商(content negotiation)機(jī)制,請(qǐng)閱讀 Apache MultiViews 常見問題。

Note: 要編譯多線程版本的 Apache,系統(tǒng)必須支持多線程。這也意味著需要將 PHP 編譯為正處在試驗(yàn)階段的 Zend Thread Safety(ZTS),因此并不是所有的擴(kuò)展都可以使用了。推薦編譯 Apache 使用標(biāo)準(zhǔn)的 prefork MPM-Module。

熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)