#php編譯安裝php-5.6 ,Nginx+php使用
#!/bin/sh #php編譯安裝php-5.6 ,Nginx+php使用 #定義函數,默認綠色輸出 '#' 開頭為紅色 function echocolor() { [[ $1 = '#' ]] && echo -e "\033[31m $* \033[0m" || echo -e "\033[32m $* \033[0m" } #檢測網絡 ping baidu.com -c 2 &>/dev/null || ping qq.com -c 2 &>/dev/null || { echocolor '#' "網絡異常!";exit; } #設置yum 安裝包不刪除 目錄 /var/cache/yum/ #sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf echocolor '#安裝需要的庫' yum install epel-release -y yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel jemalloc jemalloc-devel libjpeg-devel libpng-devel libicu-devel openldap-devel ftp -y echocolor "#設置目錄" Ddir=/it/tools #下載目錄 Sdir=/www/server #安裝目錄 [ -d $Ddir ] || mkdir -p $Ddir [ -d $Sdir/php ] || mkdir -p $Sdir/php/etc #[ -d $Sdir/apache/bin/apxs ] || mkdir -p $Sdir/apache/bin/apxs ##下載 wget http://cn2.php.net/distributions/php-5.6.31.tar.gz -P $Ddir/ echocolor "添加用戶" useradd -s /sbin/nologin -M www id www echocolor "解壓" [ -e $Ddir/php-5.6*.tar.gz ] && { tar xzvf $Ddir/php-5.6*.tar.gz -C $Ddir/;cd $Ddir/php-5.6*; } || { echocolor '#' "$Ddir目錄無php-5.6源碼包";exit ; } # [ `uname -m` = "x86_64" ] && LIB=/usr/lib64 || LIB=/usr/lib64 # --with-apxs2=/usr/local/apache/bin/apxs #編譯參數,apache+php使用 make clean echocolor 編譯 ./configure \ --prefix=$Sdir/php \ --with-config-file-path=$Sdir/php/etc \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-opcache \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-gettext \ --enable-mbstring \ --with-iconv \ --with-mcrypt \ --with-mhash \ --with-openssl \ --enable-bcmath \ --enable-soap \ --with-libxml-dir \ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-sockets \ --with-curl \ --with-zlib \ --enable-zip \ --with-bz2 \ --enable-ftp \ --with-ldap-dir=/usr/lib \ --with-png-dir=/usr/lib \ --with-jpeg-dir=/usr/lib \ --with-readline [ $? = 0 ] || { echocolor '#' "編譯出現問題 !";exit; } echocolor 編譯安裝 make -j4 && make install # make clean # make clean all #配置PHP cp php.ini-production $Sdir/php/etc/php.ini cp $Sdir/php/etc/php-fpm.conf.default $Sdir/php/etc/php-fpm.conf cp sapi/fpm/init.d.php-fpm $Sdir/php/bin/php-fpm chmod +x $Sdir/php/bin/php-fpm ln -s $Sdir/php/bin/php-fpm /etc/init.d/php-fpm # ln -s $Sdir/php/etc/php-fpm.conf /etc/php-fpm.conf # ln -s $Sdir/php/etc/php.ini /etc/php.ini chkconfig --add php-fpm chkconfig php-fpm on chkconfig --list php-fpm #service php-fpm start #顯示版本 $Sdir/php/bin/php -v #重啟 service php-fpm restart netstat -antp|grep php-fpm