官方文档:http://php.net/manual/en/install.unix.apache2.php
结尾附送安装脚本
安装前请先按照我之前写的apache源码安装,安装apache
http://blog.csdn.net/hhhha73/article/details/51714248
1.下载安装包并解压
#wget http://cn2.php.net/distributions/php-5.6.22.tar.gz#tar -zxf php-5.6.22.tar.gz
2.安装依赖包(yum安装)
#yum install libxml2 libxml2-devel2.安装依赖包(源码安装)
#wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.9.3.tar.gz
#tar -zxf libxml2-sources-2.9.3.tar.gz
#./configure --prefix=/usr/local/libxml
#make
#make install
3.编译安装
#cd php-5.6.22#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql
#make
#make install
4.配置
#cp php.ini-development /usr/local/lib/php.ini5.编辑appache的配置文件httpd.conf,配置加载php模块
查看httpd.conf是否包含以下内容LoadModule php5_module modules/libphp5.so
6.配置Apache解析特定扩展名的PHP
#vi httpd.conf添加以下内容:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
如果只想允许 .php, .php2, .php3, .php4, .php5, .php6, 和 .phtml 的文件作为php解析可以按照下面内容配置:
<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
7.修改时区设置
#vi /usr/local/lib/php.inidate.timezone = Aisa/Shanghai
8.开启httpd
#service httpd restart
9.shell脚本:
说明:
在根目录下建立文件夹/install
创建文件夹/install/log
创建文件夹/install/packages,并将所需安装包下载后放入其中
创建文件/install/install_php.sh并将以下内容粘贴进去
#chmod u+x /install/install_php.sh
#/install/install_php.sh
#!/bin/sh
#set -e or -o errexit 出错后停止执行
set -o errexit
#定义相关路径
export INSTALL_HOME=/usr/local #安装路径
export PACKAGES_HOME=/install/packages #安装包路径
export INSTALL_LOG=/install/log #安装日志路径
#安装包文件名
export ZABBIX_PACKAGES_NAME=zabbix-3.0.3.tar.gz
export APPACHE_PACKAGES_NAME=httpd-2.4.20.tar.gz
export PHP_PACKAGES_NAME=php-5.6.22.tar.gz
export APR_PACKAGES_NAME=apr-1.5.2.tar.gz
export APR_UTIL_PACKAGES_NAME=apr-util-1.5.4.tar.gz
export LIBXML2_PACKAGES_NAME=libxml2-sources-2.9.3.tar.gz
export PCRE_PACKAGES_NAME=pcre-8.38.tar.gz
exec 1> $INSTALL_LOG/install.log #安装日志
exec 2> $INSTALL_LOG/err.log #警告及错误日志
yum -y install gcc-c++ zlib zlib-devel openssl openssl--devel perl perl-devel #pcre pcre-devel
function install_apr()
{
cd $INSTALL_HOME
tar -zxf $PACKAGES_HOME/$APR_PACKAGES_NAME
cd apr-*
./configure --prefix=/usr/local/apr
make
make install
cd $INSTALL_HOME
tar -zxf $PACKAGES_HOME/$APR_UTIL_PACKAGES_NAME
cd apr-util*
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make
make install
echo "########################################"
echo "finished apr"
echo "########################################"
}
function install_pcre()
{
cd $INSTALL_HOME
tar zxf $PACKAGES_HOME/$PCRE_PACKAGES_NAME
cd $INSTALL_HOME/pcre-*
./configure --prefix=/usr/local/pcre
make
make install
echo "########################################"
echo "finished pcre"
echo "########################################"
}
function install_apache_source()
{
install_apr
install_pcre
cd $INSTALL_HOME
tar -zxf $PACKAGES_HOME/$APPACHE_PACKAGES_NAME
cd $INSTALL_HOME/httpd-*
./configure --prefix=/usr/local/apache2 --with-mpm=worker --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-nonportable-atomics --enable-mods-shared=most --enable-so --enable-rewrite --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
make
make install
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
#/usr/local/apache2/bin/apachectl -k start
#/usr/local/apache2/bin/apachectl -k stop
echo "########################################"
echo "finished apache"
echo "########################################"
}
function install_libxml2_source()
{
cd $INSTALL_HOME
tar -zxf $PACKAGES_HOME/$LIBXML2_PACKAGES_NAME
cd $INSTALL_HOME/libxml2*
./configure --prefix=/usr/local/libxml2
make
make install
echo "########################################"
echo "finished libxml2"
echo "########################################"
}
function install_php_source()
{
#install_libxml2_source #安装时有点小问题暂未解决,先用yum安装
yum -y install libxml2 libxml2-devel
cd $INSTALL_HOME
tar -zxf $PACKAGES_HOME/$PHP_PACKAGES_NAME
cd $INSTALL_HOME/php-*
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install
cp php.ini-development /usr/local/lib/php.ini
echo "########################################"
echo "finished php"
echo "########################################"
}
function install_software()
{
install_apache_source
install_php_source
echo "########################################"
echo "########################################"
echo "########## filished all ##########"
echo "########################################"
echo "########################################"
}
install_software