當(dāng)前位置:首頁(yè)文章首頁(yè) IT學(xué)院 PHP

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

作者:  來(lái)源:  發(fā)布時(shí)間:2011-7-27 15:03:02  點(diǎn)擊:

可以從核心配置選項(xiàng)列表以及位于手冊(cè)對(duì)應(yīng)部分的特定擴(kuò)展配置選項(xiàng)中選擇參數(shù)并在安裝步驟第 10 步將它們添加到 configure 命令中。版本號(hào)在這里被省略了以保證此說(shuō)明的正確性。需要將這里的“xxx”替換為自己使用的文件的正確值。

Example #1 PHP 的 Apache 共享模塊版本安裝說(shuō)明

1.  gunzip apache_xxx.tar.gz 2.  tar -xvf apache_xxx.tar 3.  gunzip php-xxx.tar.gz 4.  tar -xvf php-xxx.tar 5.  cd apache_xxx 6.  ./configure --prefix=/www --enable-module=so 7.  make 8.  make install 9.  cd ../php-xxx 10. 現(xiàn)在,配置 PHP。這是定制 PHP 的不同選項(xiàng)的時(shí)候,例如要加載哪些擴(kuò)展庫(kù)。使用       ./configure --help     來(lái)列出可用的選項(xiàng)。在下面的示例中只是簡(jiǎn)單地配置 Apache 1 和 MySQL 支持。     用戶的 apxs 的路徑可能和此示例中的不同。       ./configure --with-mysql --with-apxs=/www/bin/apxs 11. make 12. make install     如果在安裝之后決定修改配置選項(xiàng),那么只需重復(fù)以上最后三步。只須重新啟動(dòng)     Apache 就可以使新模塊生效。不需要重新編譯 Apache。注意除非特別指出,     “make install”總是會(huì)安裝 PEAR,各種 PHP 工具例如 phpize,PHP CLI 以及其它。 13. 建立 php.ini 文件。       cp php.ini-dist /usr/local/lib/php.ini     可以編輯 php.ini 來(lái)設(shè)置 PHP 選項(xiàng)。如果想把 php.ini 放在其它目錄,在第     10 步加上以下選項(xiàng):       --with-config-file-path=/path     如果選擇了 php.ini-recommended,確保閱讀一下其中的變更說(shuō)明,因?yàn)檫@些會(huì)     影響到 PHP 的行為。 14. 編輯 httpd.conf 來(lái)加載 PHP 模塊。在 LoadModule 語(yǔ)句右邊的路徑必須指向系統(tǒng)中     PHP 模塊所在的路徑。上面的 make install 步驟可能已經(jīng)添加了,但還是檢查確認(rèn)一下。     對(duì) PHP 4:       LoadModule php4_module        libexec/libphp4.so     對(duì) PHP 5:       LoadModule php5_module        libexec/libphp5.so 15. 在 httpd.conf 中加入 AddModule 部分,在 ClearModuleList 下面的某處,加上這一句:     對(duì) PHP 4:       AddModule mod_php4.c     對(duì) PHP 5:       AddModule mod_php5.c 16. 告訴 Apache 將哪些后綴作為 PHP 解析。例如,讓 Apache 把 .php 后綴的文件解析為     PHP。可以將任何后綴的文件解析為 PHP,只要在以下語(yǔ)句中加入并用空格分開。這里以     添加一個(gè) .phtml 來(lái)示例。       AddType application/x-httpd-php .php .phtml     為了將 .phps 作為 PHP 的源文件進(jìn)行語(yǔ)法高亮顯示,還可以加上:       AddType application/x-httpd-php-source .phps 17. 用通常的過(guò)程啟動(dòng) Apache(必須完全停止 Apache 再重新啟動(dòng),而不是用 HUP 或者     USR1 信號(hào)使 Apache 重新加載)。 

也可以將 PHP 作為靜態(tài)對(duì)象來(lái)安裝:

Example #2 PHP 的 Apache 靜態(tài)模塊版本安裝說(shuō)明

1.  gunzip -c apache_1.3.x.tar.gz | tar xf - 2.  cd apache_1.3.x 3.  ./configure 4.  cd ..  5.  gunzip -c php-5.x.y.tar.gz | tar xf - 6.  cd php-5.x.y 7.  ./configure --with-mysql --with-apache=../apache_1.3.x 8.  make 9.  make install  10. cd ../apache_1.3.x  11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a     (上面一行是正確的!是的,我們知道 libphp5.a 尚不存在,還不到時(shí)候,       它會(huì)在之后被創(chuàng)建。)  12. make     (現(xiàn)在應(yīng)該有一個(gè) httpd 二進(jìn)制文件,可以將它復(fù)制到 Apache bin 目錄。如果這是       第一次安裝,還要“make install”。)  13. cd ../php-5.x.y 14. cp php.ini-dist /usr/local/lib/php.ini  15. 可以編輯 /usr/local/lib/php.ini 文件以設(shè)置 PHP 選項(xiàng)。編輯 httpd.conf 或     srm.conf 文件,添加:     AddType application/x-httpd-php .php 

Note: 對(duì)于 PHP 4,把 php-5 換成 php-4,把 php5 換成 php4。

根據(jù) Unix 系統(tǒng)和 Apache 安裝方法的不同,有很多方法停止和重啟動(dòng) Apache。以下是一些不同的 Apache/UNIX 下重啟動(dòng) Apache 的典型命令。需要把 /path/to/ 替換成自己系統(tǒng)上的確切路徑。

 

Example #3 重啟動(dòng) Apache 的示例命令

1. 在一些 Linux 和 SysV 的變種下: /etc/rc.d/init.d/httpd restart  2. 使用 apachectl 腳本: /path/to/apachectl stop /path/to/apachectl start  3. httpdctl 和 httpsdctl(使用了 OpenSSL),類似 apachectl: /path/to/httpsdctl stop /path/to/httpsdctl start  4. 使用了 mod_ssl,或其他 SSL 服務(wù)器,可能需要手工重啟動(dòng): /path/to/apachectl stop /path/to/apachectl startssl 

 

apachectl 和 http(s)dctl 程序所在的路徑在不同系統(tǒng)中通常不一樣。如果系統(tǒng)中有 locate 或者 whereis 或者 which 命令,那么可以幫助找到這些控制程序。

編譯 PHP 和 Apache 的不同例子還有:

./configure --with-apxs --with-pgsql 

 

此配置將生成在 Apache 的 httpd.conf 文件中用 LoadModule 加載的 libphp5.so 共享庫(kù)(PHP 4 是 libphp4.so)。而 PostgreSQL 支持將嵌入到此共享庫(kù)中。

 

./configure --with-apxs --with-pgsql=shared 

 

此配置將生成 Apache 的 libphp5.so 共享庫(kù),并且還生成 pgsql.so 共享庫(kù),可以在 php.ini 文件中用 extension 指令加載,或者在 PHP 腳本中用 dl() 函數(shù)明確地加載。

 

./configure --with-apache=/path/to/apache_source --with-pgsql 

 

此配置將生成 libmodphp5.a 庫(kù),mod_php5.c 和一些相關(guān)的文件并且拷貝到 Apache 源程序目錄中的 src/modules/php5 目錄下。然后用 --activate-module=src/modules/php5/libphp5.a 編譯 Apache,Apache 編譯系統(tǒng)會(huì)生成 libphp5.a 并且將其靜態(tài)地連接到 httpd 程序中(在 PHP 4 中把 php5 替換成 php4)。PostgreSQL 支持也直接包括在這個(gè) httpd 程序中了,因此最終結(jié)果是單一的一個(gè)包括了所有 Apache 和 PHP 支持的 httpd 可執(zhí)行文件。

 

./configure --with-apache=/path/to/apache_source --with-pgsql=shared 

 

此配置和上面一樣――除了沒有在最后的 httpd 可執(zhí)行文件中包括 PostgreSQL 的支持以及生成了一個(gè) pgsql.so 共享庫(kù)以外。該共享庫(kù)可以在 php.ini 文件中或者用 dl() 函數(shù)加載。

當(dāng)選擇不同的方法編譯 PHP 時(shí),需要考慮每種方法的優(yōu)勢(shì)和缺點(diǎn)。用共享對(duì)象方式編譯 PHP 意味著可以單獨(dú)編譯 Apache,并且不用在添加或修改了 PHP 的時(shí)候重新編譯所有程序。用內(nèi)置方法編譯 PHP(靜態(tài)方式)意味著 PHP 可以加載和運(yùn)行得更快。更多信息見 Apache 的 » DSO 支持頁(yè)面。

文章評(píng)論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z