• php


    cat <<EOF

    *************************************
    * 即 将 进 行 的 操 作 *
    * 3. php -- php 安装 *
    *************************************

    EOF


    #http://cn2.php.net/releases/
    #http://cn2.php.net/distributions/php-5.6.20.tar.bz2


    cd /root
    yum -y groupinstall "development tools"
    yum -y install libxml2-devel openssl-devel bzip2-devel libcurl-devel gd gd-devel libmcrypt-devel
    wget http://cn2.php.net/distributions/php-5.6.20.tar.bz2
    tar jxvf php-5.6.20.tar.bz2
    cd php-5.6.20

    ./configure --prefix=/usr/local/php-5.6.20
    --with-config-file-path=/etc/
    --with-openssl
    --enable-fpm
    --with-bz2
    --enable-sockets
    --enable-sysvshm
    --enable-mbstring
    --with-freetype-dir=/usr
    --with-jpeg-dir
    --with-png-dir
    --with-zlib-dir
    --with-libxml-dir=/usr/lib64/
    --enable-xml
    --with-mhash
    --with-mcrypt
    --with-curl
    --with-gd
    --enable-zip
    --enable-pcntl
    --enable-pdo
    --with-pdo-mysql
    --disable-cgi
    --with-fpm-user=www
    --with-fpm-group=www
    --with-zlib
    --with-jpeg-dir=shared
    --with-png-dir=shared
    --enable-gd-native-ttf
    --enable-ftp
    --disable-ipv6
    --with-iconv-dir=/usr/local
    --enable-calendar
    --with-gettext
    --with-pdo-mysql=mysqlnd
    --with-mysqli=mysqlnd
    --with-mysql=mysqlnd
    --enable-dom
    --with-libdir=lib64
    --enable-bcmath

    make

    v=$?
    if [ $v -gt 0 ]; then
    echo "1.php 编译有错误,清检查";
    exit 1
    else
    echo "1.php 编译ok"
    echo "php 编译ok" >>/root/install_php.log
    fi
    sleep 5

    make install

    ret=$?
    if [ $ret -gt 0 ]; then
    echo "2.php 编译安装有错误,清检查";
    exit 1
    else
    echo "2.php 编译安装ok"
    echo "php 编译安装ok" >>/root/install_php.log
    fi
    sleep 5


    ln -sv /usr/local/php-5.6.20/bin/php /bin
    ln -sv /usr/local/php-5.6.20/bin/phpize /bin
    ln -sv /usr/local/php-5.6.20/bin/php-config /bin
    cp php.ini-production /etc/php.ini
    cd /usr/local/php-5.6.20/etc/
    cp php-fpm.conf.default php-fpm.conf


    echo "php 安装成功,请【再次】确认已经上传 php 服务脚本"

    chmod +x /etc/init.d/php-fpm
    chkconfig --add php-fpm
    service php-fpm start
    ps -ef | grep php-fpm

    php-fpm服务脚本
    #! /bin/sh
    
    ### BEGIN INIT INFO
    # Provides:          php-fpm
    # Required-Start:    $remote_fs $network
    # Required-Stop:     $remote_fs $network
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: starts php-fpm
    # Description:       starts the PHP FastCGI Process Manager daemon
    ### END INIT INFO
    
    prefix=/usr/local/php-5.6.20
    exec_prefix=${prefix}
    
    php_fpm_BIN=${exec_prefix}/sbin/php-fpm
    php_fpm_CONF=${prefix}/etc/php-fpm.conf
    php_fpm_PID=${prefix}/var/run/php-fpm.pid
    
    
    php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
    
    
    wait_for_pid () {
    	try=0
    
    	while test $try -lt 35 ; do
    
    		case "$1" in
    			'created')
    			if [ -f "$2" ] ; then
    				try=''
    				break
    			fi
    			;;
    
    			'removed')
    			if [ ! -f "$2" ] ; then
    				try=''
    				break
    			fi
    			;;
    		esac
    
    		echo -n .
    		try=`expr $try + 1`
    		sleep 1
    
    	done
    
    }
    
    case "$1" in
    	start)
    		echo -n "Starting php-fpm "
    
    		$php_fpm_BIN --daemonize $php_opts
    
    		if [ "$?" != 0 ] ; then
    			echo " failed"
    			exit 1
    		fi
    
    		wait_for_pid created $php_fpm_PID
    
    		if [ -n "$try" ] ; then
    			echo " failed"
    			exit 1
    		else
    			echo " done"
    		fi
    	;;
    
    	stop)
    		echo -n "Gracefully shutting down php-fpm "
    
    		if [ ! -r $php_fpm_PID ] ; then
    			echo "warning, no pid file found - php-fpm is not running ?"
    			exit 1
    		fi
    
    		kill -QUIT `cat $php_fpm_PID`
    
    		wait_for_pid removed $php_fpm_PID
    
    		if [ -n "$try" ] ; then
    			echo " failed. Use force-quit"
    			exit 1
    		else
    			echo " done"
    		fi
    	;;
    
    	status)
    		if [ ! -r $php_fpm_PID ] ; then
    			echo "php-fpm is stopped"
    			exit 0
    		fi
    
    		PID=`cat $php_fpm_PID`
    		if ps -p $PID | grep -q $PID; then
    			echo "php-fpm (pid $PID) is running..."
    		else
    			echo "php-fpm dead but pid file exists"
    		fi
    	;;
    
    	force-quit)
    		echo -n "Terminating php-fpm "
    
    		if [ ! -r $php_fpm_PID ] ; then
    			echo "warning, no pid file found - php-fpm is not running ?"
    			exit 1
    		fi
    
    		kill -TERM `cat $php_fpm_PID`
    
    		wait_for_pid removed $php_fpm_PID
    
    		if [ -n "$try" ] ; then
    			echo " failed"
    			exit 1
    		else
    			echo " done"
    		fi
    	;;
    
    	restart)
    		$0 stop
    		$0 start
    	;;
    
    	reload)
    
    		echo -n "Reload service php-fpm "
    
    		if [ ! -r $php_fpm_PID ] ; then
    			echo "warning, no pid file found - php-fpm is not running ?"
    			exit 1
    		fi
    
    		kill -USR2 `cat $php_fpm_PID`
    
    		echo " done"
    	;;
    
    	*)
    		echo "Usage: $0 {start|stop|force-quit|restart|reload|status}"
    		exit 1
    	;;
    
    esac
    

      

  • 相关阅读:
    Microsoft training Kits
    WCF Load Test
    SQL Server Central Management System
    连贯NHibernate 1.0正式发布
    C#全角和半角转换
    Silverlight 2应用所采用的WCF技术
    实用工具特别推荐 Robocopy GUI
    SmtpClient发送邮件遭遇The specified string is not in the form required for a subject.
    SQL Server 2008使用扩展事件进行高级故障排除
    Visual Studio 2010新特性
  • 原文地址:https://www.cnblogs.com/i-honey/p/8646791.html
Copyright © 2020-2023  润新知