當前位置:編程學習大全網 - 源碼下載 - 怎樣區別APACHE動態和靜態編譯

怎樣區別APACHE動態和靜態編譯

關於apache的動態與靜態編譯的理解,引用某人的比喻如下:

好比有兩個人a和m,a代表apache,m代表module,要想讓a使用m的東西,壹個方法是把m的東西都放到a那裏去,a使用的時候就是現成的了,就是所謂的靜態編譯

還有壹個方法,就是告訴a,m的住址,當a要使用m的東西的時候,a去找m,然後使用,不過,這種方法要註意的壹個問題就是:m必須要有實際的住址,否則a會找不到m而產生錯誤的,這種方法也就是apache 的動態(DSO)編譯了。

下面說說在apache1.3和apache2.0動態與靜態編譯編譯的區別

首先是apache1.3.29+php4.3.4+mysql4.0.13的靜態編譯

apache第壹次編譯,並不要安裝,因為php的編譯需要apache至少已經編譯過壹次

tar zvxf apache_1.3.27.tar.gz

cd apache_1.3.27

./configure --prefix=/usr/local/apache

編譯php

tar zvxf php4.3.4.tar.gz

cd php4.3.4

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apache=../apache_1.3.27

make

make install

第二次編譯安裝apache:

cd ../apache_1.3.29

./configure --prefi=/usr/local/apache --activate-module=src/modules/php4/libphp4.a

make

make install

cp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini

修改/usr/local/apache/conf/httpd.conf

查找<IfModule mod_mime.c>

在此範圍添加

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

註意:apache和php的源碼包在同壹個目錄,--with-apache=../apache_1.3.27是指向源碼解壓的目錄

ok!靜態編譯完成。

再看DSO動態編譯方法:

首先編譯安裝apache

tar zvxf apache_1.3.29

cd apache_1.3.29

./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-shared=max

make

make install

so模塊用來提供DSO支持的apachehe核心模塊,rewrite是地址重寫的模塊,如果不需要可以不編譯enable-shared=max是指除了so以外的所有標準模塊都編譯成DSO模塊。

然後編譯php

tar zvxf php4.3.4.tar.gz

cd php4.3.2

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs

make

make install

然後修改httpd.conf,方法同靜態編譯的方法

OK,DSO動態編譯就完成了!

接下來我們講apache2.0.46+php4.3.2的動態編譯方法

壹樣先編譯安裝apache

tar zvxf httpd-2.0.46.tar.gz

cd httpd-2.0.46

./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most

make

make install

大家註意了--enable-so相當與1.3.27的--enable-module=so,而--enable-mods-shared=most又等同與以前的--enable-shared=max

然後還是編譯PHP

tar zvxf php4.3.2.tar.gz

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs

make

make install

註意這裏是apxs2!!

修改httpd.conf與1.3.27也有所不同,大家尋找Add Type application/x-tar .tgz 在下面添加

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

另外要顯示中文的話,請修改:

AddDefaultCharset gb2312

  • 上一篇:淺談如何利用OA提高工作效率
  • 下一篇:迷路人,,尋找c++學習之路(問題很多!!懶人勿進,,無知者勿進)
  • copyright 2024編程學習大全網