脚本见下:
#!/bin/bash
#auto Source Code install PHP
#by author toyix
#2021年1月2日 14:08:02
echo "安装vim wget lrzsz"
yum install -y wget lrzsz vim
echo "安装阿里base及epel源"
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
echo "清缓存"
yum clean all
yum makecache
echo "安装软件环境支持"
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl -y
yum install -y libjpeg libpng-devel freetype freetype-devel libxslt libxslt-devel libXpm-devel sqlite-devel bzip2 bzip2-devel libjpeg libjpeg-devel libpng libpng-devel oniguruma oniguruma-devel libcurl libcurl-devel postgresql-devel openssl openssl-devel libzip libxml2 libxml2-devel pcre2 pcre-devel pcre gcc gcc-c++
echo "软件下载"
cd /usr/src
wget -c https://www.php.net/distributions/php-7.1.27.tar.gz
echo "创建nginx用户"
useradd -s /sbin/nologin -r www-data -M
echo "解压、编译、安装"
tar -zxvf php-7.1.27.tar.gz
cd php-7.1.27
./configure \
--prefix=/usr/local/php7 \
--enable-fpm \
--with-fpm-user=www-data \
--with-fpm-group=www-data \
--enable-debug \
--with-gd \
--enable-ldap \
--with-jpeg-dir=/usr/lib64 \
--with-pgsql \
--enable-inline-optimization \
--with-bz2 \
--with-zlib-dir \
--with-freetype-dir=/usr/include/freetype2/freetype \
--enable-mbstring \
--enable-soap \
--with-openssl \
--enable-calendar \
--with-curl \
--enable-ftp \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-opcache \
--with-iconv \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-kerberos \
--with-pdo-sqlite \
--with-pear \
--enable-shmop \
--enable-xml \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--with-zlib-dir \
--with-pcre-jit \
--with-config-file-path=/usr/local/php7/etc
make -j4 && make install -j4
echo "主配置文件"
cp php.ini-development /usr/local/php7/etc/php.ini
echo "次配置文件"
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
echo "修改Php-fpm配置文件中的include默认文件名"
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/default.conf
echo "配置启动文件php-fpm及软链接"
cp /usr/src/php-7.1.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
ln -s /etc/init.d/php-fpm /usr/sbin/php-fpm
echo "启动php-fpm"
php-fpm start
ps -ef|grep php-fpm
netstat -tnlp
echo "添加phpredis"
cd /usr/src
wget -c https://github.com/phpredis/phpredis/archive/4.3.0.tar.gz
tar zxf 4.3.0.tar.gz
cd phpredis-4.3.0/
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install
cd /usr/local/php7/
DEBUG_ZTS_DIRNAME=`find ./ -name debug-non-zts*|awk -F'/' '{print $NF}'`
sed -i '$a extension_dir = "/usr/local/php7/lib/php/extensions/'${DEBUG_ZTS_DIRNAME}'"' /usr/local/php7/etc/php.ini
sed -i '$a extension="redis.so"' /usr/local/php7/etc/php.ini
ps -ef|grep php-fpm
php-fpm stop
php-fpm start
ps -ef|grep php-fpm