最近开始看《Ajax for Dummies》,书里的示例一些是基于
php的,
所以需要
建个php服务器才可以演示这些示例。拿自己的Ubuntu试了一下。1.准备工作先分别从
和下载回httpd2和
php5的源码包,分别为:
httpd-2.2.3.tar.gz和
php-5.2.0.tar.gz。在编译之前,先大概浏览一下它们的INSTALL文件,看看都有哪些说明。
httpd的说明很简单,再看
php的说明,里面有一段是: Pre
requisite 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的地址,
和。分别下载回源码包,然后先编译安装这两个东西,同样看了看说明,直接 c; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%;
BACkground-color: #eeeeee;">
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.gz2. tar xvf
httpd-2_0_NN.tar3. gunzip
php-NN.tar.gz4. tar -xvf
php-NN.tar5. cd
httpd-2_0_NN6. ./configure --enable-so7. make8. 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 star
Ting the Apache server,e.g.: /usr/local/apache2/bin/apa
chectl start and stop the server to go on with the configuration for
php: /usr/local/apache2/bin/apa
chectl stop.前 面
还有一点版本方面的说明就不管了,根据示例,进入
httpd的文件夹,直接执行 ./configure --enable-so来编译apache就可以了。
考虑到,Apache在我机器上待的时间可能不长,如果按默认的安装,安装到/usr/local下 面去,我可能过几天就忘了,
找不到了。就用prefix参数修改一下安装路径。
c; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%;
BACkground-color: #eeeeee;">
--enable-so --prefix
然 后就是等待配置的完成,生成Makefile,完了之后就 make 一下,现在可以去泡杯茶了。水烧开,茶泡好,sudo make install 完成Apache的安装。兴冲冲地转到/opt/apache/bin目录, sudo ./apa
chectl start ,然后在FF里localhost一下,“It works!”,em,不错,apache已经可以运行了。 赶紧,sudo ./apa
chectl stop 。3.开始编译
php5还是看说明:9. cd ../
php-NN10. 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 option
s. 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 syste
m. ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-my
sql11. make12. make install If you decide to change your configure options after installation, you only need to repeat the last three step
s. 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这样的,但是,我
不需要安装R_163_11845@ysql,apache的安装目录也不是/usr/local/apache2,所以,稍做修改
c; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%;
BACkground-color: #eeeeee;">
--with-apxs2 --prefixphp
然后,除了等就还是等了 :( 机子破了点,没办法。(在等待的时间里,“我还抽了点时间洗了个澡,换了件衣服~~”)。然后,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 option
s. 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 behave
s.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 syste
m. The make install from above may have already added this for you,but be sure to
check. For
php 4:
loadModule
php4_module modules/lib
php4.so For
php 5:
loadModule
php5_module modules/lib
php5.so15. 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 .
phps16. Use your normal procedure for star
Ting the Apache server,e.g.: /usr/local/apache2/bin/apa
chectl 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-Module
s.经过这样简单的步骤,再启动Apache,就可以执行
php脚本了。