CentOS下編譯搭建LAMP環境

搭建LAMP環境須知

搭建LAMP環境時,須要安裝的全部軟件都要按照必定的順序安裝,咱們按照Apache->MySQL->PHP的順序安裝。可是在安裝PHP以前,應先安裝PHP5須要的最新版本庫文件,例如libxml二、libmcrypt,以及GD2庫等文件。安裝GD2庫是爲了讓PHP5支持GIF、PNG和JPEG圖片格式,因此在安裝GD2庫以前還要先安裝最新的zlib、libpng、freetype和jpegsrc等庫文件。並且中間還會穿插安裝一些軟件。php

確認搭建LAMP所需的環境是否已經安裝:html

[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-develnode

若是沒安裝則使用yum安裝:python

[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/mysql

安裝規則

軟件源代碼包存放位置 :/usr/local/srclinux

源碼包編譯安裝位置:/usr/local/軟件名字 (編譯安裝的軟件通常安裝在/usr/local/下)c++

源代碼安裝:配置(configure)、編譯(make)、安裝(make install)redis

前期準備

配置防火牆,開啓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是否安裝sql

[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

一、設置權限

[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權限

  

二、初始化配置

注:在啓動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
相關文章
相關標籤/搜索