您好朋友,感谢您关注xiaosilent,我在blogjava的博客已经停止更新,请访问http://kuan.fm了解我的最新情况,谢谢!
随笔-82  评论-133  文章-0  trackbacks-0
最近开始看《Ajax for Dummies》,书里的示例一些是基于php的,所以需要建个php服务器才可以演示这些示例。拿自己的Ubuntu试了一下。
1.准备工作
先分别从http://httpd.apache.orghttp://www.php.net下载回httpd2和php5的源码包,分别为:httpd-2.2.3.tar.gz和php-5.2.0.tar.gz。
在编译之前,先大概浏览一下它们的INSTALL文件,看看都有哪些说明。
httpd的说明很简单,再看php的说明,里面有一段是:
  Prerequisite knowledge and software for compiling:

     * Basic Unix skills (being able to operate "make" and a C compiler)
     * An ANSI C compiler
     * flex: Version 2.5.4
     * bison: Version 1.28 (preferred), 1.35, or 1.75
     * A web server
     * Any module specific components (such as gd, pdf libs, etc.)
也就是说,要有C编译器,flex,bison,一个web服务器,还要一些模块的组件。由于计划用apache做web服务器程序,基本编译环境早就装好(如果没有,就sudo apt-get install build-essential 安装之。),就看flex和bison这两个东东了。
新立得里面搜索了一下,有是有,就不知道是不是版本太陈旧了。还是问了一下google,得到了flex和bison的地址,http://www.gnu.org/software/flex/http://www.gnu.org/software/bison/。分别下载回源码包,然后先编译安装这两个东西,同样看了看说明,直接
./configure
make
sudo make install


2.开始安装Apache
 再回过头来看php的说明。
文件里先讲到的是apache1.3.×的版本如何编译,这里我下载的是2.2.3版的Apache了,直接跳过这一节,看关于Apache2的编译安装说明。

   Example 2-4. Installation Instructions (Apache 2 Shared Module
   Version)
1.  gzip -d httpd-2_0_NN.tar.gz
2.  tar xvf httpd-2_0_NN.tar
3.  gunzip php-NN.tar.gz
4.  tar -xvf php-NN.tar
5.  cd httpd-2_0_NN
6.  ./configure --enable-so
7.  make
8.  make install

    Now you have Apache 2.0.NN available under /usr/local/apache2,
    configured with loadable module support and the standard MPM prefork.
    To test the installation use your normal procedure for starting
    the Apache server, e.g.:
    /usr/local/apache2/bin/apachectl start
    and stop the server to go on with the configuration for PHP:
    /usr/local/apache2/bin/apachectl stop.


前面还有一点版本方面的说明就不管了,根据示例,进入httpd的文件夹,直接执行  ./configure --enable-so来编译apache就可以了。考虑到,Apache在我机器上待的时间可能不长,如果按默认的安装,安装到/usr/local下面去,我可能过几天就忘了,找不到了。就用prefix参数修改一下安装路径。  
./configure --enable-so --prefix=/opt/apache
然后就是等待配置的完成,生成Makefile,完了之后就 make 一下,现在可以去泡杯茶了。水烧开,茶泡好,sudo make install  完成Apache的安装。兴冲冲地转到/opt/apache/bin目录, sudo ./apachectl start ,然后在FF里localhost一下,“It works!”,em,不错,apache已经可以运行了。 赶紧,sudo ./apachectl stop 。

3.开始编译PHP5
还是看说明:
9.  cd ../php-NN

10. Now, configure your PHP.  This is where you customize your PHP
    with various options, like which extensions will be enabled.  Do a
    ./configure --help for a list of available options.  In our example
    we'll do a simple configure with Apache 2 and MySQL support.  Your
    path to apxs may differ, in fact, the binary may even be named apxs2 on
    your system.

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

11. make
12. make install

    If you decide to change your configure options after installation,
    you only need to repeat the last three steps. You only need to
    restart apache for the new module to take effect. A recompile of
    Apache is not needed.

    Note that unless told otherwise, 'make install' will also install PEAR,
    various PHP tools such as phpize, install the PHP CLI, and more.


进入到php源码目录,示例中是  ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql这样的,但是,我不需要安装mysql,apache的安装目录也不是/usr/local/apache2,所以,稍做修改 
./configure --with-apxs2=/opt/apache/bin/apxs --prefix=/opt/php
然后,除了等就还是等了 :( 机子破了点,没办法。(在等待的时间里,“我还抽了点时间洗了个澡,换了件衣服~~”)。然后,make 一下,这次,我去会了会新导师~~~,回来的时候,sudo make install 。到此,编译安装结束。

4.配置Apache,是php能够运行起来
再看说明:
13. Setup your php.ini

    cp php.ini-dist /usr/local/lib/php.ini

    You may edit your .ini file to set PHP options.  If you prefer having
    php.ini in another location, use --with-config-file-path=/some/path in
    step 10.

    If you instead choose php.ini-recommended, be certain to read the list
    of changes within, as they affect how PHP behaves.

14. Edit your httpd.conf to load the PHP module.  The path on the right hand
    side of the LoadModule statement must point to the path of the PHP
    module on your system.  The make install from above may have already
    added this for you, but be sure to check.

    For PHP 4:

      LoadModule php4_module modules/libphp4.so

    For PHP 5:

      LoadModule php5_module modules/libphp5.so

15. Tell Apache to parse certain extensions as PHP.  For example,
    let's have Apache parse the .php extension as PHP.  You could
    have any extension(s) parse as PHP by simply adding more, with
    each separated by a space.  We'll add .phtml to demonstrate.

      AddType application/x-httpd-php .php .phtml

    It's also common to setup the .phps extension to show highlighted PHP
    source, this can be done with:

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

16. Use your normal procedure for starting the Apache server, e.g.:

      /usr/local/apache2/bin/apachectl start

   Following the steps above you will have a running Apache 2.0 with
   support for PHP as SAPI module. Of course there are many more
   configuration options available for both, Apache and PHP. For more
   information use ./configure --help in the corresponding source tree.
   In case you wish to build a multithreaded version of Apache 2.0 you
   must overwrite the standard MPM-Module prefork either with worker or
   perchild. To do so append to your configure line in step 6 above
   either the option --with-mpm=worker or --with-mpm=perchild. Take care
   about the consequences and understand what you are doing. For more
   information read the Apache documentation about the MPM-Modules.

经过这样简单的步骤,再启动Apache,就可以执行php脚本了。
posted on 2006-11-23 15:45 xiaosilent 阅读(918) 评论(1)  编辑  收藏 所属分类: Linux相关

评论:
# re: Apache与PHP的整合(编译安装),不涉及MySQL数据库的整合 2006-11-30 19:42 | 张猪儿
过来确认一下你是哪个,但是还是不晓得你是哪个.......  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: