#!/bin/bash
# File Name: phpInstall.sh
# Author: hanye131
# Email: hz7726@
# Version:
# Created Time:
phpuser=$1
phpversion=$2
phpdata=/data/soft
phpinstall=/usr/local/php
if [ "$#" -lt "2" ]; then
echo "传递参数为2个: 第一个为php的运行用户,第二个是版本"
exit 1
else
groupadd -r -g 500 $phpuser && useradd -u 500 -g 500 -s /sbin/nologin -M $phpuser
cd $phpdata && wget /distributions/php-${phpversion}.tar.gz
echo “php-${phpversion}.tar.gz 下载完毕”
echo -e
yum install -y gcc autoconf gcc-c++ make
yum install -y libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel
yum install -y systemd-devel openjpeg-devel curl-devel libzip-devel
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar xf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make -j 6 && make install
tar xf php-${phpversion}.tar.gz
cd php-${phpversion}
./configure'
--prefix=${phpinstall}
--with-config-file-path=${phpinstall}/etc
--with-config-file-scan-dir=${phpinstall}/etc/php.d
--with-fpm-user=$phpuser
--with-fpm-group=$phpuser
--enable-fpm
--enable-opcache
--disable-fileinfo
--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-iconv-dir=/usr/local
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-zlib
--with-libxml-dir=/usr
--enable-xml
--disable-rpath
--enable-bcmath
--enable-shmop
--enable-exif
--enable-sysvsem
--enable-inline-optimization
--with-curl=/usr/local
--enable-mbregex
--enable-mbstring
--with-mcrypt
--with-gd
--enable-gd-native-ttf
--with-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-xmlrpc
--enable-ftp
--enable-intl
--with-xsl
--with-gettext
--enable-zip
--enable-soap
--disable-debug
make -j 6 && make install
cp php.ini-production ${phpinstall}/etc/php.ini
cp ${phpinstall}/etc/php-fpm.conf.default ${phpinstall}/etc/php-fpm.conf
echo "PATH=/usr/local/php/sbin:$PATH" >>/etc/profile
cat > ${installPath}/etc/php-fpm.conf << EOF
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = warning
emergency_restart_threshold = 30
emergency_restart_interval = 60s
process_control_timeout = 5s
daemonize = yes
[qa]
listen = /dev/shm/php-fastcgi.sock
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = $phpuser
listen.group = $phpuser
listen.mode = 0666
user = qa
group = qa
pm = dynamic
pm.max_children = 30
pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 30
pm.max_requests = 1000
pm.process_idle_timeout = 20s
request_terminate_timeout = 200
request_slowlog_timeout = 5
pm.status_path = /php-fpm_status
slowlog = log/slow.log
rlimit_files = 51200
rlimit_core = 0
catch_workers_output = no
;env[HOSTNAME] = iZ2zeb1kcfbotalsu02k64Z
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
EOF
cp ${phpdata}/php-${phpversion}/sapi/fpm/php-fpm.service /usr/lib/systemd/system/
systemctl daemon-reload&&systemctl enable php-fpm
systemctl start php-fpm
fi