一、前期准备 

    1:配置yum源(略)

    2:安装依赖包

     yum -y install ncurses.x86_64 ncurses-devel.x86_64 zlib.x86_64 zlib-devel.x86_64 libpng.x86_64 libpng-devel.x86_64 freetype.x86_64 freetype-devel.x86_64 libtool.x86_64 libjpeg.x86_64 libjpeg-devel.x86_64 libxml2.x86_64 libxml2-devel.x86_64 fontconfig.x86_64 fontconfig-devel.x86_64 gd.x86_64  bzip2-devel.x86_64 curl-devel.x86_64

二、安装apache

    1:yum -y install openssl-devel

    2:tar -zxvf httpd-2.2.8.tar.gz

    3:cd httpd-2.2.8

    4:./configure  --enable-ssl --enable-modules --prefix=/usr/local/apache2

    5:make ;make install

 

    6:解决的方法(其实是由于我用的是64位机器的原因)

       ./configure  --enable-ssl --enable-modules --prefix=/usr/local/apache2 --bindir=/usr/bin/ LDFLAGS="-L/usr/lib64 -L/lib64" 

    7:启动apache

      ln -s /usr/local/apache2/conf/httpd.conf /etc/httpd.conf

      /usr/local/apache2/bin/apachectl restart

 

      8:解决的方法

      vim httpd.conf (加入ServerName  localhost:80)

     

三、安装php

    1:准备oracle支持

       1.1: mkdir -p /u01/app/oracle/product/10.2.0/db_1/ (oracle客户端放在这个目录下)

       1.2: tar -zxvf instantclient.tar.gz -C /u01/app/oracle/product/10.2.0/db_1/ (其中已经包含了sdk)

       1.3: cd  /u01/app/oracle/product/10.2.0/db_1/instantclient

             ln -s  /u01/app/oracle/product/10.2.0/db_1/instantclient/libclntsh.so.11.1 /u01/app/oracle/product/10.2.0/db_1/instantclient/libclntsh.so

             ln -s  /u01/app/oracle/product/10.2.0/db_1/instantclient/libocci.so.11.1 /u01/app/oracle/product/10.2.0/db_1/instantclient/libocci.so

 

    2:准备mysql支持

       2.1: yum -y install mysql.x86_64 php-mysql.x86_64 mysql-devel.x86_64

    3:准备mcrypt加密扩展库

       

       3.1: 安装依赖包关系: 

             rpm -ivh libmcrypt-2.5.7-1.2.el5.rf.x86_64.rpm

             rpm -ivh libmcrypt-devel-2.5.7-1.2.el5.rf.x86_64.rpm

             tar -jxvf mhash-0.9.9.9.tar.bz2

             cd mhash-0.9.9.9

             ./configure --prefix=/usr/local/mhash

             make;make install

             less /etc/ld.so.conf

                       /usr/local/libmcrypt/lib

                       /usr/local/mcrypt/lib

           tar -zxvf mcrypt-2.6.8.tar.gz

             cd mcrypt-2.6.8

             ./configure --prefix=/usr/local/mcrypt;make ;make install

              ldconfig

    4:安装php

       4.1:tar -zxvf php-5.2.6.tar.gz

       4.2:cd php-5.2.6

       4.3:./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir --with-jpeg-dir  --with-png-dir --with-libxml-dir --with-zlib-dir --enable-mbstring --enable-sockets --with-curl  --with-oci8=share,instantclient,/u01/app/oracle/product/10.2.0/db_1/instantclient/ --enable-soap --enable-sigchild --enable-bcmath --with-bz2 --enable-wddx --with-openssl --enable-sysvshm --with-mcrypt=/usr/local/mcrypt/ --with-mysql

       4.4:make ; make install

       

       解决方法:(默认php会有/usr/lib下找,64位上的这个so是在/usr/lib64下)

       cp -rp /usr/lib64/mysql/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so

 

    5:配置php

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

       ln -s /usr/local/php5/lib/php.ini /etc/php.ini

       vim /etc/php.ini

                register_globals = On

                error_reporting = E_ALL & ~E_NOTICE

    6:修改apache配置

       vim /etc/httpd.conf

 

     加入:

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

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

    7:重启apache

                /usr/local/apache2/bin/apachectl  restart

 

    8:准备memcache扩展支持

       (memcache服务器配置见http://bbhaiidreamer.blog.51cto.com/3398980/841814)

       8.1: tar -zxvf memcache-3.0.6.tgz

       8.2: cd memcache-3.0.6

       8.3: /usr/local/php5/bin/phpize

       8.4: ./configure --enable-memcache --with-php-config=/usr/local/php5/bin/php-config --with-zlib-dir

       8.5: make; make test ;make install 

           出现如下错误:

           +------------------------------------------------------- ----+

           |                       ! ERROR !                             |

           | The test-suite requires that proc_open() is available.    |

           | Please check if you disabled it in php.ini.                 |

           +---------------------------------------------------- -------+

        8.6: 解法如下:

             修改php.ini文件如下:

             extension_dir = "/usr/lib64/php/modules"

             ln -s /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/memcache.so /usr/lib64/php/modules/memcache.so

       8.6:  vim /etc/php.ini   (改成如下)

                    extension=memcache.so

                    [Session]

               session.save_handler = memcache

                       session.save_path = "tcp://172.16.5.101:11211"  memcache服务器ip

 

       8.7:重启apache服务

                /usr/local/apache2/bin/apachectl restart  

    9: 测试php支持哪些功能

        下面这个是apache默认的虚拟目录

     9.1: cd /usr/local/apache2/htdocs

     9.2: vim test.php (文件内容如下)

              <?php

                 phpinfo();

              ?>

 

     9.3: http:// 172.16.7.3/test.php(看到下面 这个页面,表示 apache 已经支持 php 了)

 

 10:memcache小工具的安装 (memcachephp.zip)

     

         http://172.16.7.3:8080/memcache.php