zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    小心触发器脚本陷阱
    delphi程序如何防止多实例启动
    自定义控件wxIpCtrl –(Ip Address)
    wxWidgets流操作 (三) wxMemoryInputStream/wxMemoryOutputStream与wxImage交互
    D2 std.stream 文件读写小练习
    挂钟程序
    Lazarus+FPC2.7.1 下DLL 创建及调用
    正则表达式30分钟入门教程
    Word frequency program终结
    阅读作业第二篇
  • 原文地址:https://www.cnblogs.com/felix-h/p/11062369.html
Copyright © 2011-2022 走看看