歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

靜態/動態編譯在apache+php+mysql的應用

  我想大家有不少都成功實現apache+PHP+mysql,網上的文章也有不少,但我發現不少文章都是抄來抄去,並且    沒有說明白編譯的方式,有的索性apache1.3的編譯方法原封不動的搬過來套在apache2.0,顯然誤導一些菜鳥!    我今天就以apache+mysql+php說一下靜態編譯和DSO動態編譯的區別,我會分別拿apache1.3.27和apache2.0.46    說明,因為兩個版本的編譯命令是有所區別的。    系統和所需軟件:  Redhat9.0  apache:1.3.27 和 2.0.46  php: 4.3.2  mysql:4.0.13    1.首先來安裝mysql,這不是我們的重點,所以關於mysql的安裝配置我就很快過去了    tar zvxf mysql-4.0.13.tar.gz  cd mysql-4.0.13  ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql &&  make &&  make install    安裝完成!    然後初始化數據庫    /usr/local/mysql/bin/mysql_install_db    設置權限:    chown -R root /usr/local/mysql    復制配置文件;    cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf    啟動mysql:    /use/local/mysql/bin/mysqld_safe --user=root &    修改密碼:初始的root密碼是空的    /usr/local/mysql/bin/mysqladmin -u root -p passWord 1234  enter password:    把密碼修改為1234,由於初始密碼為空,所以enter password直接回車就行    測試一下新的密碼:    mysql -u root -p mysql  enter password:1234    如果順利的話就能進入mysql。    好了mysql就講這麼多,有什麼問題也不要問我,我對mysql不是很熟悉。    好了下面是我們的重頭戲,我將分別通過靜態和動態DSO編譯apache+php    至於什麼是靜態,什麼是DSO動態我這裡就不多講了,本人個人傾向大家用DSO動態編譯。    首先是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    查找    在此范圍添加    AddType application/x-httpd-php .php  AddType application/x-httpd-php-source .phps    注意:apache和php的源碼包在同一個目錄,--with-apache=../apache_1.3.27是指向源碼解壓的目錄    ok!靜態編譯完成,大家只要啟動一下服務器  /usr/local/apache/bin/apachectl start    然後些個php測試頁info.php:內容如下        正常的話,應該能看到php的信息了,恭喜你靜態編譯成功!!!    我們再來講講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的編譯方法,我這裡只講DSO動態編譯,靜態編譯實在沒有時間測試了,    留給大家自己去試了。    一樣現編譯安裝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    啟動一下apache    /usr/local/apache2/bin/apachectl start    用那個info.php測試一下,應該不會有多大問題哦!!!    好了寫了這麼多,希望對大家有所幫助!!!




Copyright © Linux教程網 All Rights Reserved