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

来源:互联网 发布:深入分析linux内核 编辑:程序博客网 时间:2024/06/06 14:18

官方文档: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.gzexport APPACHE_PACKAGES_NAME=httpd-2.4.20.tar.gzexport PHP_PACKAGES_NAME=php-5.6.22.tar.gzexport APR_PACKAGES_NAME=apr-1.5.2.tar.gzexport APR_UTIL_PACKAGES_NAME=apr-util-1.5.4.tar.gzexport LIBXML2_PACKAGES_NAME=libxml2-sources-2.9.3.tar.gzexport PCRE_PACKAGES_NAME=pcre-8.38.tar.gzexec 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_HOMEtar -zxf $PACKAGES_HOME/$APR_PACKAGES_NAMEcd apr-*./configure --prefix=/usr/local/aprmakemake installcd $INSTALL_HOMEtar -zxf $PACKAGES_HOME/$APR_UTIL_PACKAGES_NAMEcd apr-util*./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-configmakemake installecho "########################################"echo "finished apr"echo "########################################"}function install_pcre(){cd $INSTALL_HOMEtar zxf $PACKAGES_HOME/$PCRE_PACKAGES_NAMEcd $INSTALL_HOME/pcre-*./configure --prefix=/usr/local/pcremakemake installecho "########################################"echo "finished pcre"echo "########################################"}function install_apache_source(){install_aprinstall_pcrecd $INSTALL_HOMEtar -zxf $PACKAGES_HOME/$APPACHE_PACKAGES_NAMEcd $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/pcremakemake installcp /usr/local/apache2/bin/apachectl /etc/init.d/httpd#/usr/local/apache2/bin/apachectl -k start#/usr/local/apache2/bin/apachectl -k stopecho "########################################"echo "finished apache"echo "########################################"}function install_libxml2_source(){cd $INSTALL_HOMEtar -zxf $PACKAGES_HOME/$LIBXML2_PACKAGES_NAMEcd $INSTALL_HOME/libxml2*./configure --prefix=/usr/local/libxml2makemake installecho "########################################"echo "finished libxml2"echo "########################################"}function install_php_source(){#install_libxml2_source#安装时有点小问题暂未解决,先用yum安装yum -y install libxml2 libxml2-develcd $INSTALL_HOMEtar -zxf $PACKAGES_HOME/$PHP_PACKAGES_NAMEcd $INSTALL_HOME/php-*./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/lib/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqlmakemake installcp php.ini-development /usr/local/lib/php.iniecho "########################################"echo "finished php"echo "########################################"}function install_software(){install_apache_sourceinstall_php_sourceecho "########################################"echo "########################################"echo "##########    filished all    ##########"echo "########################################"echo "########################################"}install_software


0 0