Apache HTTP服務器擴展模塊的工具-apxs


1.安裝httpd

  1. # yum install httpd 
  2.  
  3. # service httpd start 

在地址欄里輸入http://172.16.22.1(你輸入你自己的IP地址,這個是我的),驗證web服務是否可以正常工作。

2.安裝mysql

方法和LAMP(linux下apache+mysql+php)平台編譯安裝的實現的安裝mysql的方法一樣,這里不再贅述。

說明:這個mysql安裝不是編譯安裝,而是解壓之后就可以使用,相當於綠色軟件哦。

3.編譯安裝php

①解決依賴關系:

  1. # yum -y groupinstall "X Software Development" 
  2. # yum -y groupinstall "Development Libraries"  # yum -y groupinstall "Development Tools" 

如果想讓編譯的php支持mcrypt擴展,需下載 libmcrypt-2.5.7-5.el5.i386.rpm

libmcrypt-devel-2.5.7-5.el5.i386.rpm兩個軟件包,此時我們支持擴展。

  1. # rpm –ivh libmcrypt-2.5.7-5.el5.i386.rpm libmcrypt-devel-2.5.7-5.el5.i386.rpm 

②編譯安裝php-5.3.10

 首先下載源碼包至本地目錄。

  1. # tar xvf php-5.3.10.tar.bz2 
  2. # cd php-5.3.10 
  3. # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt 

說明:如果前面第1步解決依賴關系時安裝mcrypt相關的兩個rpm包,此./configure命令還可以帶上--with-mcrypt選項以讓php支持mycrpt擴展。

說明:此時你是不是發現編譯不通過呢?答案是肯定的了,因為你給的路徑--with-apxs2=/usr/local/apache/bin/apxs系統找不到apxs,當然就編譯不通過了,你說干脆把這一句給刪除了,不要了。

不行,此時web和php就不能結合使用了,apxs就是實現apache擴展功能使php和web服務結合使用的啊。怎么辦呢?

仔細想一想:是不是只要編譯的時候給的apxs路徑系統能找到apxs這個工具就行,yeah,思路正確了,下面就是安裝這個工具了。只要安裝httpd-devel這個軟件包,就會有apxs了。

  1. # yum install httpd-devel –y   
  2. # rpm –ql httpd-devel | grep “apxs” 

此時你會發現真的有apxs這個工具啊!並且路徑在/usr/sbin/apxs

 

於是趕緊:

  1. # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --with-apxs2=/usr/sbin/apxs --with-mcrypt 
  2.  
  3. # make 
  4. # make test 
  5. # make install 

為php提供配置文件:

  1. # cp php.ini-production /usr/local/php/lib/php.ini 

③編輯apache配置文件httpd.conf,以apache支持php

  1. # vim /etc/httpd/httpd.conf 

 添加如下二行

AddType application/x-httpd-php  .php 

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

 定位至DirectoryIndex index.html

   修改為:  

DirectoryIndex  index.php  index.html 

而后重新啟動httpd,或讓其重新載入配置文件即可測試php是否已經可以正常使用。

  1. # service httpd restart 
  2.  
  3. #cd /usr/local/apache/htdocs 
  4.  
  5. #vim index.php 
  6.  <?php 
  7.  phpinfo() 
  8. ?> 

此時你發現使用rpm格式的httpd也能和mysql以及編譯安裝的php構建LAMP平台了。

補充知識:

    apxs是一個為Apache HTTP服務器編譯和安裝擴展模塊的工具,用於編譯一個或多個源程序或目標代碼文件為動態共享對象,使之可以用由mod_so提供的LoadModule指令在運行時加載到Apache服務器中。

    因此,要使用這個擴展機制,你的平台必須支持DSO特性,而且Apache httpd必須內建了mod_so模塊。apxs工具能自動探測是否具備這樣的條件,你也可以自己用這個命令手動探測:

# httpd -l

    該命令的輸出列表中應該mod_so模塊。如果所有這些條件均已具備,則可以很容易地借助apxs安裝你自己的DSO模塊以擴展Apache服務器的功能。

 

-------------------------------

原文:https://blog.51cto.com/lihuan/821448


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM