php源码安装(附:php安装shell脚本)

官方文档: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-devel

2.安装依赖包(源码安装)

    #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.ini

5.编辑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.ini
    date.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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值