#!/bin/bashdir=$ ( cd "$ ( dirname " $ " )" && pwd ) srcdir=/usr/ local/srcphpversion= "5.6.25" phpuser=wwwphpgroup=wwwif [ $ (id -u) -ne 0 ]; then echo "Please run as root" exit 1fidistro= "" distributions= "centos ubuntu red" for i in $DISTRIBUTIONSDO cat /etc/*-release | grep "$i" >/dev/null if [ $? -eq 0 ]; then distro= $i fidoneegrep "^ $phpGroup" /etc/ group >/dev/nullif [ $? -ne 0 ]; then groupadd $phpGroupfiegrep "^ $phpUser" /etc/passwd >/dev/nullif [ $? -ne 0 ]; then [ $DISTRO = "CentOS" -o $DISTRO = "Red" ] && useradd -g $phpGroup -s /sbin/ nologin -m -r $phpUserfifunction install_php { cd $SRCDIR [ ! -f php-$ phpversion.tar.gz ] && curl http://cn2.php.net/distributions/php-$ phpversion.tar.gz -o php-$phpVersion .tar.gz tar zxf php-$phpVersion. tar.gz cd php-$phpVersion [ $DISTRO = "CentOS" ] && yum install -y epel-release if [ $DISTRO = Amazon -o $DISTRO = "CentOS" -o $DISTRO = "Red" ]; then yum -y groupinstall "x Software development " yum install -y gcc gcc-c++ openssl-devel libxml2-devel libcurl-devel zlib-devel libmcrypt-devel mhash-devel bzip2-devel libicu-devel Libpng-devel libjpeg-devel freetype-devel openldap-devel readline-devel autoconf libevent libevent-devel mcrypt # yum install -y httpd-devel perl ./configure --prefix=/usr/local/php-$phpVersion --with-config-file-path=/usr/local/ php-$phpVersion/etc --with-fpm-user= $phpUser --with-fpm-group= $phpGroup # --with-apxs2 --disable-rpath --enable-fpm --enable-inline-optimization --enable-shared --enable-opcache --enable-pcntl --enable-shmop --enable-sysvmsg -- enable-sysvsem --enable-sysvshm --enable-mbstring --enable-sockets --enable-soap --enable-zip --enable-calendar -- enable-bcmath --enable-exif --enable-intl --enable-xml -- enable-mysqlnd --with-libdir=lib64 --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --with-bz2 --with-curl --with-gd --with-jpeg-dir --with-zlib-dir --with-png-dir -- enable-gd-native-ttf --with-freetype-dir --with-gettext --with-iconv -- with-mcrypt --with-mhash --with-ldap --with-readline && make && make install retval=$? fi return $retval} function config_php {cd $SRCDIRCD php-$PHPVERSIONCP php.ini-development /usr/ local/php-$phpVersion/etc/php.inised -i '/^;d ate.timezone/ {s/.*/;d ATE.TIMEZONE&NBSP;=&NBSP;PRC /g} ' /usr/local/php-$phpVersion/etc/php.inised -i '/fix_pathinfo=1/ {s/.*/cgi.fix_pathinfo=0/g} ' /usr/local/php-$phpVersion/ etc/php.inised -i '/^expose_php/ {s/.*/expose_php = off/} ' /usr/local/php-$ phpversion/etc/php.inised -i '/^disable_functions/ {s/.*/disable_functions = pcntl_ Alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus , Pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_ Sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,passthru, shell_exec,system,proc_open,popen,show_source,phpinfo/g} ' /usr/local/php-$phpVersion/etc/php.ini#cp /usr/local/php-$phpVersion/etc/php-fpm.conf.default /usr/local/php-$phpVersion/etc/php-fpm.confcp Sapi/fpm/init.d.php-fpm /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpmchkconfig --add php-fpmchkconfig php-fpm oncd /usr/localln -s php-$phpVersion phpcd /usr/local/php/etc/cat >/usr/local/php/etc/php-fpm.conf <<eof[global]pid = /var/run/php-fpm.piderror_ log = /var/log/php/php-fpm.error.log [www]listen = 127.0.0.1:9000user = wwwgroup = wwwpm = staticpm.status_path = /statuspm.max_children = 50pm.max_requests = 5000pm.start_servers = 20pm.min_spare_servers = 10pm.max_spare_servers = 60request_terminate_timeout = 10srequest_slowlog_timeout = 9sslowlog = /var/log/php/php-fpm.slow.logeof}function exten_redis {cd /usr/ local/src[ ! -f redis-2.2.7.tgz ] && wget https://pecl.php.net/get/ Redis-2.2.7.tgztar xf redis-2.2.7.tgzcd redis-2.2.7/usr/local/php/bin/phpizeif [ $? -eq 0 ];then ./configure --with-php-config=/usr/local/php/bin/php-config [ $? -eq 0 ] && make && make install [ $? -eq 0 ] && sed -i "/extension_dir = \" \.\/\ "/ a\extension = redis.so " /usr/local/php/etc/php.inifi}function exten_mongo {cd /usr/local/src[ ! -f mongo-php-driver-legacy-1.6.11.tar.gz ] && wget https:// github.com/mongodb/mongo-php-driver-legacy/archive/1.6.11.tar.gz -o mongo-php-driver-legacy-1.6.11.tar.gztar xf mongo-php-driver-legacy-1.6.11.tar.gzcd mongo-php-driver-legacy-1.6.11/usr/local/php/bin/phpizeif [ $? -eq 0 ];then ./configure --with-php-config=/USR/LOCAL/PHP/BIN/PHP-CONFIG&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&NBSP;[&NBSP;$?&NBSP;-EQ&NBSP;0&NBSP;] && make && make install [ $? -eq 0 ] && sed -i "/extension_dir = \" \.\ /\ "/ a\extension = mongo.so" /usr/local/php/etc/php.inifi}install_php[ $retval - ne 0 ] && echo -e "\033[41,30m install php failed,pls check!!! \033[0m "; Exit 5config_phpexten_redisexten_mongo
This article from the "11414123" blog, reproduced please contact the author!
PHP compiled installation script