zoukankan      html  css  js  c++  java
  • CentOS下编译搭建LAMP环境

    搭建LAMP环境须知

    搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache->MySQL->PHP的顺序安装。但是在安装PHP之前,应先安装PHP5需要的最新版本库文件,例如libxml2、libmcrypt,以及GD2库等文件。安装GD2库是为了让PHP5支持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和jpegsrc等库文件。而且中间还会穿插安装一些软件。

    确认搭建LAMP所需的环境是否已经安装:

    [root@centos6 ~]# rpm -q make gcc gcc-c++ zlib-devel libtool libtool-ltdl libtool-ltdl-devel bisonncurses-devel

    安装libpng时需要:zlib-devel
    安装php时需要:libtool、libtool-ltdl、libtool-ltdl-devel
    安装mysql时需要:bison、ncurses-devel

    如果没安装则使用yum安装:

    [root@centos6 ~]# yum -y install make gcc gcc-c++ zlib-devel libtool libtool-ltdllibtool-ltdl-devel bison ncurses-devel

    需要安装的程序包

    httpd-->http://httpd.apache.org/
    mysql-->http://dev.mysql.com/downloads/
    php-->http://cn2.php.net/downloads.php
    libxml2-->ftp://xmlsoft.org/libxml2/
    libmcrypt[PHPlibmcrypt模块]-->ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/
    libgd-->https://bitbucket.org/libgd/gd-libgd/downloads
    zlib-->http://www.zlib.net
    autoconf-->http://ftp.gnu.org/gnu/autoconf/
    freetype-->http://download.savannah.gnu.org/releases/freetype/
    libpng-->ftp://ftp.simplesystems.org/pub/libpng/png/src/
    jpegsrc-->http://www.ijg.org/files/
    apr[Apache库文件]-->http://apr.apache.org/download.cgi
    apr-util[Apache库文件]-->http://apr.apache.org/download.cgi
    pcre-->http://sourceforge.net/projects/pcre
    cmake[MySQL编译工具]-->http://www.cmake.org
    gd库-->http://libgd.bitbucket.org/

    安装规则

    软件源代码包存放位置 :/usr/local/src

    源码包编译安装位置:/usr/local/软件名字 (编译安装的软件一般安装在/usr/local/下)

    源代码安装:配置(configure)、编译(make)、安装(make install)

    前期准备

    配置防火墙,开启80端口、3306端口

    [root@centos6 ~]# vim /etc/sysconfig/iptables
    # 添加到默认的22端口下面:
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙)
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
    [root@centos6 ~]# /etc/init.d/iptables restart
    

      

    关闭SELINUX
    [root@centos6 ~]# vim /etc/selinux/config
    # SELINUX=enforcing # 注释掉
    # SELINUXTYPE=targeted # 注释掉
    SELINUX=disabled # 增加
    :wq 保存,关闭
    [root@centos6 ~]# shutdown -r now # 重启系统
    

    查看httpd、mysql、php是否安装

    [root@centos6 ~]# rpm -q httpd mysql php
    

    卸载对应已安装软件

    [root@centos6 ~]# rpm -e httpd --nodeps
    [root@centos6 ~]# rpm -e mysql --nodeps
    [root@centos6 ~]# rpm -e php --nodeps

    编译安装libxml2(xml的C语言编译器)

    [root@centos6 ~]# tar -zxvf libxml2-2.6.30.tar.gz 
    [root@centos6 ~]# cd libxml2-2.6.30 
    [root@centos6 libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2
    [root@centos6 libxml2-2.6.30]# make
    [root@centos6 libxml2-2.6.30]# make install
    

    注:选项--prefix=/usr/local/libxml2作用是将软件安装到/usr/local/libxml2目录下。如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、share四个目录。在后面安装PHP5源代码的配置时,会通过在configure命令的选项中加上"--with-libxml-dir=/usr/local/libxml2"选项,用于指定安装libxml2库文件的位置。

    [root@centos6 ~]# rpm -qa | grep python-devel
    [root@centos6 ~]# yum install python-devel
    [root@centos6 ~]# rpm -qa | grep python-devel

    编译安装libmcrypt(加密算法扩展库)

    [root@centos6 ~]# tar -zxvf libmcrypt-2.5.8.tar.gz
    [root@centos6 ~]# cd libmcrypt-2.5.8
    [root@centos6 libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt 
    [root@centos6 libmcrypt-2.5.8]# make
    [root@centos6 libmcrypt-2.5.8]# make install

    如果安装成功就会在/usr/local/libmcrypt/目录下生成bin、include、lib、man、share五个目录。然后在安装PHP5源代码包的配置时,就可以通过configure命令加上"--with-mcrypt-dir=/usr/local/libmcrypt"选项,指定这个libmcrypt库文件的位置。
    如./configure时报错:configure: error: C++ compiler cannot create executables,解决方案:运行下面命令,然后重新configure(配置)

    [root@centos6 libmcrypt-2.5.8]# yum install gcc gcc-c++ gcc-g77 

    安装完成libmcrypt库以后,不同的linux系统版本有可能还要安装一下libltdl库。安装方法和前面的步骤相同,可以进入到解压缩的目录/usr/local/src/libmcrypt-2.5.8下,找到libltdl库源代码所在的目录libltdl,进入这个目录按照下面几个命令配置、编译、安装就可以了。

    [root@centos6 libltdl]# pwd 
    /usr/local/src/libmcrypt-2.5.8/libltdl # 进入软件源代码目录  
    [root@centos6 libltdl]# ./configure –enable-ltdl-install # 配置ltdl库的安装  
    [root@centos6 libltdl]# make  # 编译 
    [root@centos6 libltdl]# make install  # 安装

    编译安装zlib(zlib是提供数据压缩用的函式库、安装GD需要)

    [root@centos6 LAMP]# tar -zxvf zlib-1.2.5.tar.gz 
    [root@centos6 LAMP]# cd ./zlib-1.2.5  
    [root@centos6 zlib-1.2.5]# ./configure  --prefix=/usr/local/zlib
    [root@centos6 zlib-1.2.5]# make && make install

    如果安装成功将会在/usr/local/zlib目录下生成include、lib、share三个目录。在安装PHP5配置时,在configure命令的选项中加上"--with-zlib-dir=/usr/local/libmcrypt"选项,用于指定zlib库文件位置。

    编译安装libpng(安装GD需要)

    [root@centos6 LAMP]# tar -zxvf libpng-1.5.4.tar.gz 
    [root@centos6 LAMP]# cd ./libpng-1.5.4 
    [root@centos6 libpng-1.5.4]# ./configure --prefix=/usr/local/libpng  --enable-shared 
    [root@centos6 libpng-1.5.4]# make && make install
    

    在./configure --prefix=/usr/local/libpng这步最后会提示:configure: error: ZLib not installed

    解决方法如下:

    1. 进入zlib的源文件目录,执行命令 make clean,清除zlib;
    2. 重新配置 ./configure,后面不要接--prefix参数; 
    3. make && make install;
    4. 进入libpng目录,执行命令 ./configure --prefix=/usr/local/libpng;
    5. make && make install;
    6. 安装成功

    如果安装成功将会在/usr/local/libpng目录下生成bin、include、lib和share四个目录。在安装GD2库配置时,通过在configure命令选项中加上"--with-png=/usr/local/libpng"选项,指定libpng库文件的位置。

    编译安装jpeg(安装GD2库前所需的jpeg8库文件,需要自己手动创建安装需要的目录,它们在安装时不能自动创建)

    [root@centos6 LAMP]# tar -zxvf jpegsrc.v8c.tar.gz 
    [root@centos6 LAMP]# cd ./jpeg-8c/  
    [root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/   	     (创建jpeg软件的安装目录) 
    [root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/bin/  		(创建存放命令的目录) 
    [root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/lib/    		(创建jpeg库文件所在目录) 
    [root@centos6 jpeg-8c]# mkdir /usr/local/jpeg/include/  	(创建存放头文件目录)  
    [root@centos6 jpeg-8c]# mkdir -p /usr/local/jpeg/man/man1      (建立存放手册的目录)	
    [root@centos6 jpeg-8c]# ./configure --prefix=/usr/local/jpeg  --enable-shared --enable-static(建立共享库使用的GNU的libtool和静态库使用的GNU的libtool)
    [root@centos6 jpeg-8c]# make && make install

    在安装GD2库配置时,可以在configure命令的选项中加上"--with-jpeg=/usr/local/jpeg8"选项,指定jpeg8库文件的位置。安装PHP时也要指定该库文件的位置。

    编译安装freetype  (安装GD需要)

    [root@centos6 LAMP]# tar -zxvf freetype-2.4.6.tar.gz 
    [root@centos6 LAMP]# cd ./freetype-2.4.6 
    [root@centos6 freetype-2.4.6]# ./configure --prefix=/usr/local/freetype/ --enable-shared 
    [root@centos6 freetype-2.4.6]# make && make install

    如果安装成功将会在/usr/local/freetype目录下存在bin、include、lib和share四个目录。并在安装GD2库时,通过configure命令选项中加上"--with-freetype=/usr/local/freetype/"选项,指定freetype库文件位置。

    编译安装autoconf  (唯一注意的地方是configure时,不用指定路径)

    [root@centos6 LAMP]# tar -zxvf autoconf-2.68.tar.gz 
    [root@centos6 LAMP]# cd ./autoconf-2.68
    [root@centos6 autoconf-2.68]# ./configure 
    [root@centos6 autoconf-2.68]# make && make install

    编译安装GD

    [root@centos6 LAMP]# tar -zxvf gd-2.0.35.tar.gz 
    [root@centos6 LAMP]# cd ./gd-2.0.35 
    [root@centos6 gd-2.0.35]# ./configure                    	# 配置命令   
    						> --prefix=/usr/local/gd               # 指定安装软件的位置  
    						> --with-jpeg=/usr/local/jpeg         	# 指定去哪找jpeg库文件   
    						> --with-png=/usr/local/libpng        	# 指定去哪找png库文件 
    						> --with-zlib=/usr/local/zlib     	# 指定去哪找zlib库文件  
    						> --with-freetype=/usr/local/freetype   # 指定去哪找freetype 2.x字体库的位置 
    [root@centos6 gd-2.0.35]# make && make install
    

    如果安装成功会在/usr/local/gd/目录下存在bin、include和lib这三个目录。在安装PHP5时,通过在configure命令选项中加上"--with-gd=/usr/local/gd"选项,指定GD库文件的位置。

    如果报错:

    gd_png.c 中 gdMalloc函数的问题
    make[2]: *** [gd_png.lo] Error 1
    make[2]: Leaving directory `/tmp/gd-2.0.35'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/tmp/gd-2.0.35'
    make: *** [all] Error 2

    解决方案:

    vi gd_png.c
    找到#include "png.h"改成#include "/usr/local/libpng/include/png.h"
    如果报错:unrecognized option –with-zlib
    那就重新安装一次zlib,注意,需要把原先解压出来的源码删掉,重新解压进行安装。

    安装apache

    先安装apr、apr-util、pcre

    [root@centos6 ~]# rpm -qa | grep apr
    [root@centos6 ~]# yum remove apr apr-util 
    # 查看当前是否已经安装apr、apr-util,若有则卸载。
    

      

    # 编译安装apr
    [root@centos6 LAMP]# tar zxvf apr-1.5.1.tar.gz 
    [root@centos6 LAMP]# cd apr-1.5.1  
    [root@centos6 apr-1.5.1]# ./configure --prefix=/usr/local/apr && make && make install 
    

      

    # 编译安装apr-util 
    [root@centos6 LAMP]# tar zxvf apr-util-1.5.3.tar.gz 
    [root@centos6 LAMP]# cd apr-util-1.5.1  
    [root@centos6 apr-util-1.5.3]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    [root@centos6 apr-util-1.5.3]# make && make install 
    

      

    # 编译安装pcre(主要这里是使用pcre而不是pcre2,否则在编译时会出错)	
    [root@centos6 LAMP]# tar zxvf pcre-8.37.tar.gz
    [root@centos6 LAMP]# cd pcre-8.37  
    [root@centos6 pcre-8.37]# ./configure --prefix=/usr/local/pcre
    [root@centos6 pcre-8.37]# make 
    [root@centos6 pcre-8.37]# make install
    

      

    # 编译安装apache
    [root@centos6 LAMP]# tar zxvf httpd-2.4.9.tar.gz 
    [root@centos6 LAMP]# cd httpd-2.4.9 
    [root@centos6 httpd-2.4.9]# ./configure   
    	> --prefix=/usr/local/apache2  
    	> --enable-mods-shared=all  
    	> --enable-deflate  
    	> --enable-speling  
    	> --enable-cache  
    	> --enable-file-cache  
    	> --enable-disk-cache  
    	> --enable-mem-cache  
    	> --enable-so   
    	> --enable-expires=shared  
    	> --enable-rewrite=shared  
    	> --enable-static-support  
    	> --sysconfdir=/etc/httpd  
    	> --with-z=/usr/local/zlib  
    	> --with-apr=/usr/local/apr  
    	> --with-apr-util=/usr/local/apr-util  
    	//> --with-pcre=/usr/local/pcre  
    	> --disable-userdir
    [root@centos6 httpd-2.4.9]# make && make install
    

    安装完成后,进入/usr/local/apache2/目录下,检查是否有以下文件:

    bin build  cgi-bin  error htdocs icons  include  logs  man  manual  modules

    启动Apache服务器,并查端口是否开启,启动Apache服务器的命令行如下: 

    [root@centos6 httpd-2.4.9]# /usr/local/apache2/bin/apachectl start

    提示信息:  AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this message

    解决方案:

    [root@centos6 httpd-2.4.9]# vi /etc/httpd/httpd.conf
    加上:ServerName localhost:80  重启apache  # netstat -tnl|grep 80 查看端口情况

    开机启动apache

    [root@centos6 apache2]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
    [root@centos6 LAMP]# /usr/local/apache2/bin/apachectl start  
    [root@centos6 LAMP]# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd 
    [root@centos6 LAMP]# chmod +x /etc/init.d/httpd  
    [root@centos6 ~]# chkconfig --add httpd 
    

    注意:如果提示service httpd does not support chkconfig错误解决办法:

    编辑/etc/rc.d/init.d/httpd在文件第二行加入 
    #chkconfig:2345 10 90             
    #description:Activates/Deactivates Apache Web Server
    
    开机自动启动apache的另一种方法: 
    修改/etc/rc.local文件 
    # vim /etc/rc.local  
    在文件中添加/usr/local/apache/bin/apachectl start
    

      

    # 启动、关闭、开启apache
    [root@centos6 ~] # /etc/init.d/httpd start 
    [root@centos6 ~] # /etc/init.d/httpd restart 
    [root@centos6 ~] # /etc/init.d/httpd stop

    安装MySQL

    mysql版本5.5以上编译安装时需要用到软件cmake,cmake特性是独立于源码编译,编译工作可以在另外一个目录中而非源码目录中进行,好处是可以保证源码目录不受任何一次编译的影响。估计以后的版本也会采用这种方式,所以特地记录一下安装步骤及过程,以供参考。

    注意:此安装是默认centos下已经安装了最新工具包,比如GNU、make、GCC、Perl、libncurses5-dev,如果在编译安装过程中发现有缺失的工具包,先yum install 单独下载安装再继续即可。

    以下安装中涉及的几点需要提前说明的问题: 

     所有下载的文件将保存在 /usr/local/src/ 目录下

    • mysql将以mysql用户运行,而且将加入 service 开机自动运行
    • mysql将被安装在 /usr/local/mysql/ 目录下
    • mysql默认安装使用 utf8 字符集
    • mysql的数据和日志文件保存在 /usr/local/mysql/data/ 对应目录下
    • mysql的配置文件保存于/etc/my.cnf
    [root@centos6 ~]# yum -y install make gcc-c++ bison-devel ncurses-devel

    下载安装cmake [CMake编译器]

    [root@centos6 ~]# tar zxvf cmake-3.0.0.tar.gz
    [root@centos6 ~]# cd  cmake-3.0.0  
    [root@centos6 ~]# ./bootstrap  
    [root@centos6 ~]# gmake  
    [root@centos6 ~]# make && make install

    在使用时可能会出现error,若提示是/usr/bin/cmake文件不存在

    解决办法:

    [root@centos6 ~]# whereis cmake  # 得到cmke的可执行文件的路径,如在:/usr/local/bin/cmake 
    [root@centos6 ~]# ln -s /usr/local/bin/cmake /usr/bin/cmake # 创建一个链接文件即可解决

    卸载旧版MySQL

    [root@centos6 ~]# rpm -qa | grep mysql
    [root@centos6 ~]# rpm -e mysql  # 普通删除模式
    [root@centos6 ~]# rpm -e --nodeps mysql	# 强力删除模式
    

      

    [root@centos6 ~]# yum -y install make gcc-c++ bison-devel ncurses-devel
    # 安装编译所需要的包 bison-devel、ncurses-devel、cmake需要编译安装(如上面的cmake的安装过程)

    编译安装mysql:

    [root@centos6 ~]# tar xvf mysql-5.6.16.tar.gz
    [root@centos6 ~]# cd mysql-5.6.16
    [root@centos6 ~]# cmake 
      -DCMAKE_INSTALL_PREFIX=/usr/local/mysql 
      -DMYSQL_DATADIR=/usr/local/mysql/data 
      -DSYSCONFDIR=/etc 
      -DWITH_MYISAM_STORAGE_ENGINE=1 
      -DWITH_INNOBASE_STORAGE_ENGINE=1 
      -DWITH_MEMORY_STORAGE_ENGINE=1 
      -DWITH_READLINE=1 
      -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock 
      -DMYSQL_TCP_PORT=3306 
      -DENABLED_LOCAL_INFILE=1 
      -DWITH_PARTITION_STORAGE_ENGINE=1 
      -DEXTRA_CHARSETS=all 
      -DDEFAULT_CHARSET=utf8 
      -DDEFAULT_COLLATION=utf8_general_ci
    [root@centos6 ~]# make && make install
    # 配置编译的参数可以到mysql的官网查看

    配置MySQL

    1、设置权限

    [root@centos6 ~]# cat /etc/passwd  # 查看用户列表
    [root@centos6 ~]# cat /etc/group # 查看用户组列表
    
    # 创建mysql用户以及用户组
    [root@centos6 ~]# groupadd mysql
    [root@centos6 ~]# useradd -g mysql mysql
    
    [root@centos6 ~]# chown -R mysql:mysql /usr/local/mysql   # 修改/usr/local/mysql权限
    

      

    2、初始化配置

    注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置。注意:在CentOS 6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

    [root@centos6 ~]# mv /etc/my.cnf /etc/my.cnf.bak
    [root@centos6 ~]# rm /etc/my.cnf  # 可以删除掉/etc/my.cnf这个文件

    如果你需要用于生产环境,不要急着做下面的mysql启动操作。建议把上一步骤中mysql初始化生成的/usr/local/mysql/mysql.cnf删除,然后把你优化好的mysql配置文件my.cnf放到/etc下。(这是我做mysql主从复制和mysql优化的经验!)

    [root@centos6 ~]# cd /usr/local/mysql 
    # 进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
    [root@centos6 ~]scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
    # 复制服务启动脚本
    [root@centos6 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    # 启动MySQL服务
    [root@centos6 ~]# service mysql start
    # 设置开机自动启动服务
    [root@centos6 ~]# chkconfig mysql on
    # 编辑PATH路径
    [root@centos6 ~]# vim /etc/profile
    # 在文件末尾添加
    PATH=/usr/local/mysql/bin:$PATH
    export PATH
    [root@centos6 ~]# source /etc/profile  # 保存让配置立即生效
    # 修改密码
    [root@centos6 ~]# mysql -uroot
    mysql> SET PASSWORD = PASSWORD('123456');
    # 登陆
    [root@centos6 ~]# mysql -uroot -p

    编译安装PHP

    [root@centos6 ~]# yum -y install libXpm-devel
    [root@centos6 ~]# rpm -ql libXpm-devel
    
    # 确保已经安装了libXpm。查找到libXpm-devel的安装位置为/usr/lib64/libXpm.so,将选项--with-xpm-dir=/usr/lib64添加到php的配置选项中。
    
    [root@centos6 ~]# tar -zxvf php-5.4.11.tar.gz
    [root@centos6 ~]# cd ./php-5.4.11 
    [root@centos6 php-5.4.11]# ./configure 
            > --prefix=/usr/local/php   
    	> --with-config-file-path=/usr/local/php/etc         # 配置文件路径,指定php.ini位置 
    	> --with-apxs2=/usr/local/apache2/bin/apxs           # apxs功能是使用mod_so中的   //  LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块  
    	> --with-mysql=/usr/local/mysql                      # mysql安装目录,对mysql的支持 
    	> --with-mysqli=/usr/local/mysql/bin/mysql_config    # mysqli文件目录,优化支持 
    	> --with-libxml-dir=/usr/local/libxml2               # 打开libxml2库的支持 
    	> --with-png-dir=/usr/local/libpng                   # 打开对png图片的支持
    	> --with-jpeg-dir=/usr/local/jpeg                    # 打开对jpeg图片的支持 
    	> --with-freetype-dir=/usr/local/freetype            # 打开对freetype字体库的支持 
    	> --with-gd=/usr/local/gd                            # 打开gd库的支持 
    	> --with-zlib-dir=/usr/local/zlib                    # 打开zlib库的支持 
    	> --with-mcrypt=/usr/local/libmcrypt                 # 打开libmcrypt库的支持 
    	> --with-xpm-dir=/usr/lib64                           # 打开libXpm库的支持 
    	> --enable-soap                          # 打开soap
    	> --enable-mbstring=all                              # 多字节,字符串的支持 
    	> --enable-sockets                                    # 打开sockets 支持    
    

      

    [root@centos6 php-5.4.11]# make && make install
    # 安装完成后,需要建立PHP配置文件。在使用configure命令安装配置时使用"--with-config-file-path=/usr /local/php/etc/"选项,指定了配置文件的位置。将源码包下面的php.ini-development 文件复制到/usr/local /php/etc/中,并改名为php.ini
    [root@centos6 php-5.4.11]# cp php.ini-development /usr/local/php/etc/php.ini
    修改php.ini 把;date.timezone 前面的分号去掉,改成date.timezone ="PRC"
    更改apache的配置文件,达到解析php文件的目的
    编辑配置文件/etc/httpd/httpd.conf,在LoadModule最后面添加以下内容
    LoadModule php5_module        modules/libphp5.so
    # 确保/usr/local/apache/modules下存在libphp5.so,否则说明php安装不成功
    
    [root@centos6 ~]# vim /etc/httpd/httpd.conf 
    # 添加如下内容:
    AddType application/x-compress .Z 
    AddType application/x-gzip .gz .tgz  
    Addtype application/x-httpd-php .php .phtml 
    Addtype application/x-httpd-php-source .phps
    
    # 将下面一行:
    DirectoryIndex index.html
    # 修改为:
    DirectoryIndex  index.php index.html index.htm
    
    [root@centos6 ~]# /etc/init.d/httpd restart   # 重启apache服务器
    
    # 修改环境变量PATH路径,使PHP能够在命令行中执行
    [root@centos6 ~]# vim /etc/profile
    
    # 在最后添加一下:
    PATH=/usr/local/php/bin:$PATH
    export PATH
    [root@centos6 ~]# source /etc/profile

    编译安装PHP扩展

    pcntl扩展

    [root@centos6 ~]# cd /usr/local/src/php-5.6.16/ext/pcntl		# 进入php源码包里面的pcntl的文件夹里面
    [root@centos6 pcntl]# ln -s /usr/local/php/bin/phpize /usr/local/bin/phpize
    [root@centos6 pcntl]# phpize
    [root@centos6 pcntl]# ./configure --with-php-config=/usr/local/php/bin/php-config
    # 指定到系统中相应的php-config的位置
    [root@centos6 pcntl]# make && make install
    # 编译安装pcntl完毕后会生成了一个 pcntl.so的文件
    [root@centos6 pcntl]# vim /usr/local/php/etc/php.ini
    加上 extension=pcntl.so
    [root@centos6 pcntl]# /etc/init.d/httpd restart

    libevent扩展

    [root@centos6 ~]# yum install wget libevent-devel
    [root@centos6 ~]# pecl install channel://pecl.php.net/libevent-0.1.0
    # 成功后会生成/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/libevent.so
    [root@centos6 ~]# vim /usr/local/php/etc/php.ini
    添加:extension=libevent.so
    [root@centos6 ~]# /etc/init.d/httpd restart

    phpredis扩展

    [root@centos6 ~]# tar -zxvf redis-2.2.7.tgz
    [root@centos6 ~]# cd redis-2.2.7
    [root@centos6 redis-2.2.7]# /usr/local/php/bin/phpize  # 用phpize生成configure配置文件
    [root@centos6 redis-2.2.7]# ./configure --with-php-config=/usr/local/php/bin/php-config  # 配置
    [root@centos6 redis-2.2.7]# make 
    [root@centos6 redis-2.2.7]# make install 
    
    # 配置php支持
    [root@centos6 redis-2.2.7]# vim /usr/local/php/etc/php.ini 
    添加如下: extension="redis.so"
    [root@centos6 redis-2.2.7]# /etc/init.d/httpd restart

    openssl扩展

    [root@centos6 ~]# yum install openssl openssl-devel
    [root@centos6 ~]# cd /usr/local/src/php-5.6.16/ext/openssl
    [root@centos6 openssl]# cp config0.m4  config.m4
    [root@centos6 openssl]# /usr/local/php/bin/phpize
    [root@centos6 openssl]# ./configure --with-php-config=/usr/local/php/bin/php-config
    [root@centos6 openssl]# make && make install 
    [root@centos6 openssl]# vim /usr/local/php/etc/php.ini
    添加:extension=openssl.so
    [root@centos6 openssl]# /etc/init.d/httpd restart

    pdo_mysql扩展

    [root@centos6 ~]# cd /usr/local/src/php-5.6.16/ext/pdo_mysql
    [root@centos6 pdo_mysql]# /usr/local/php/bin/phpize
    [root@centos6 pdo_mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
    [root@centos6 pdo_mysql]# make && make install 
    # 此时出现 /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/说明编译安装成功
    [root@centos6 pdo_mysql]# /usr/local/php/etc/php.ini
    添加extension=pdo_mysql.so
    [root@centos6 pdo_mysql]# /etc/init.d/httpd restart

    curl扩展

    [root@centos6 ~]# cd /usr/local/src/php-5.6.16/ext/curl
    [root@centos6 curl]# /usr/local/php/bin/phpize
    [root@centos6 curl]# yum -y install curl-devel		# 安装curl的dev包
    [root@centos6 curl]# ./configure --with-php-config=/usr/local/php/bin/php-config [--with-curl=DIR(默认路径时无需指定)]
    [root@centos6 curl]# make && make install
    # 会在/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525生成curl.so文件
    [root@centos6 curl]# vim /usr/local/php/etc/php.ini
    添加如下extension=curl.so
    [root@centos6 curl]# /etc/init.d/httpd restart

    bcmath扩展[BC高精度函数库]

    [root@centos6 ~]# cd /usr/local/src/php-5.6.16/ext/bcmath
    [root@centos6 bcmath]# phpize
    [root@centos6 bcmath]# ./configure --with-php-config=/usr/local/php/bin/php-config
    [root@centos6 bcmath]# make 
    [root@centos6 bcmath]# make test
    [root@centos6 bcmath]# make install
    [root@centos6 bcmath]# vim /usr/local/php/etc/php.ini
    # 添加如下extension=bcmath.so
    [root@centos6 bcmath]# /etc/init.d/httpd restart
    

      

  • 相关阅读:
    SetTransform
    D3DXCreateText
    《高级游戏特性实现》考试样题
    KeyUp
    .FX File
    CMD
    X File Class
    《DirectX游戏设计》考试样题
    ps图片处理效果——很nice哦
    学习篇:来点水货要天天学习!!!
  • 原文地址:https://www.cnblogs.com/xi-jie/p/11822045.html
Copyright © 2011-2022 走看看