Centos使用yum安装PHP各个版本
脚本直接送上
#!/bin/bash
##PHP5.4
Install_php5_4() {
echo -e "\033[32m Please Use "tail -f /tmp/php-5.4-install.log" to Review Progress\033[0m"
yum -y install php php-fpm >/tmp/php5.4-install.log 2>&1
if systemctl start php-fpm >>/tmp/php5.4-install.log 2>&1;then
echo -e "\033[32m [Sucess]\033[0m Php5.4 Install Sucess"
systemctl enable php-fpm >>/tmp/php5.4-install.log 2>&1
else
echo -e "\033[31m [Failed]\033[0m Php5.4 Install Failed"
exit 1
fi
PHP_INFO=$(find / -name php.ini)
sed -i "s#$(grep "date.timezone =" "${PHP_INFO}")#date.timezone = Asia\/Shanghai#g" "${PHP_INFO}"
sed -i "s#$(grep "max_execution_time" "${PHP_INFO}")#max_execution_time = 300#g" "${PHP_INFO}"
sed -i "s#$(grep "post_max_size" "${PHP_INFO}")#post_max_size = 32M#g" "${PHP_INFO}"
sed -i "s#$(grep "max_input_time =" "${PHP_INFO}")#max_input_time = 300#g" "${PHP_INFO}"
sed -i "s#$(grep "memory_limit" "${PHP_INFO}")#memory_limit = 128M#g" "${PHP_INFO}"
sed -i "s#$(grep "upload_max_filesize" "${PHP_INFO}")#upload_max_filesize = 128M#g" "${PHP_INFO}"
if systemctl restart php-fpm >>/tmp/php5.4-install.log 2>&1;then
echo -e "\033[32m [Running]\033[0m Php-fpm-5.4 Is Running Now"
else
echo -e "\033[31m [Stopped]\033[0m Php-fpm-5.4 Is Stopping Now"
fi
}
##PHP7.0
Install_php7_0() {
echo -e "\033[32m Please Use "tail -f /tmp/php-7.0-install.log" to Review Progress\033[0m"
yum -y remove php* >/tmp/php7.0-install.log 2>&1
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm >>/tmp/php7.0-install.log 2>&1
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm >>/tmp/php7.0-install.log 2>&1 || rpm -Uvh http://mirror.webtatic.com/yum/el7/webtatic-release.rpm >>/tmp/php7.0-install.log 2>&1
for Php_packages_7 in php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel;
do yum -y install ${Php_packages_7} >>/tmp/php7.0-install.log 2>&1;done
if systemctl start php-fpm >>/tmp/php7.0-install.log 2>&1;then
echo -e "\033[32m [Sucess]\033[0m Php7.0 Install Sucess"
systemctl enable php-fpm >>/tmp/php7.0-install.log 2>&1
else
echo -e "\033[31m [Failed]\033[0m Php7.0 Install Failed"
exit 1
fi
PHP_INFO=$(find / -name php.ini)
sed -i "s#$(grep "date.timezone =" "${PHP_INFO}")#date.timezone = Asia\/Shanghai#g" "${PHP_INFO}"
sed -i "s#$(grep "max_execution_time" "${PHP_INFO}")#max_execution_time = 300#g" "${PHP_INFO}"
sed -i "s#$(grep "post_max_size" "${PHP_INFO}")#post_max_size = 32M#g" "${PHP_INFO}"
sed -i "s#$(grep "max_input_time =" "${PHP_INFO}")#max_input_time = 300#g" "${PHP_INFO}"
sed -i "s#$(grep "memory_limit" "${PHP_INFO}")#memory_limit = 128M#g" "${PHP_INFO}"
sed -i "s#$(grep "upload_max_filesize" "${PHP_INFO}")#upload_max_filesize = 128M#g" "${PHP_INFO}"
if systemctl restart php-fpm >>/tmp/php7.0-install.log 2>&1;then
echo -e "\033[32m [Running]\033[0m Php-fpm-7.0 Is Running Now"
else
echo -e "\033[31m [Stopped]\033[0m Php-fpm-7.0 Is Stopping Now"
fi
}
##PHP7.2
Install_php7_2() {
echo -e "\033[32m Please Use "tail -f /tmp/php-7.2-install.log" to Review Progress\033[0m"
yum -y remove php* >/tmp/php7.2-install.log 2>&1
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm >>/tmp/php7.2-install.log 2>&1
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm >>/tmp/php7.2-install.log 2>&1 ||rpm -Uvh http://mirror.webtatic.com/yum/el7/webtatic-release.rpm >>/tmp/php7.2-install.log 2>&1
for Php_packages_7_2 in php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml;
do yum -y install ${Php_packages_7_2} >>/tmp/php7.2-install.log 2>&1;done
if systemctl start php-fpm >>/tmp/php7.2-install.log 2>&1;then
echo -e "\033[32m [Sucess]\033[0m Php7.2 Install Sucess"
systemctl enable php-fpm >>/tmp/php7.2-install.log 2>&1
else
echo -e "\033[31m [Failed]\033[0m Php7.2 Install Failed"
exit 1
fi
PHP_INFO=$(find / -name php.ini)
sed -i "s#$(grep "date.timezone =" "${PHP_INFO}")#date.timezone = Asia\/Shanghai#g" "${PHP_INFO}"
sed -i "s#$(grep "max_execution_time" "${PHP_INFO}")#max_execution_time = 300#g" "${PHP_INFO}"
sed -i "s#$(grep "post_max_size" "${PHP_INFO}")#post_max_size = 32M#g" "${PHP_INFO}"
sed -i "s#$(grep "max_input_time =" "${PHP_INFO}")#max_input_time = 300#g" "${PHP_INFO}"
sed -i "s#$(grep "memory_limit" "${PHP_INFO}")#memory_limit = 128M#g" "${PHP_INFO}"
sed -i "s#$(grep "upload_max_filesize" "${PHP_INFO}")#upload_max_filesize = 128M#g" "${PHP_INFO}"
if systemctl restart php-fpm >>/tmp/php7.2-install.log 2>&1;then
echo -e "\033[32m [Running]\033[0m Php-fpm-7.2 Is Running Now"
else
echo -e "\033[31m [Stopped]\033[0m Php-fpm-7.2 Is Stopping Now"
fi
}
##PHP7.3
Install_php7_3() {
echo -e "\033[32m Please Use "tail -f /tmp/php-7.3-install.log" to Review Progress\033[0m"
yum -y remove php* >/tmp/php7.3-install.log 2>&1
yum install epel-release >>/tmp/php7.3-install.log 2>&1 || yum install epel-release -y >>/tmp/php7.3-install.log 2>&1
yum install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm >>/tmp/php7.3-install.log 2>&1 || yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm >>/tmp/php7.3-install.log 2>&1
yum install yum-utils >>/tmp/php7.3-install.log 2>&1
for Php_packages_7_3
in php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-xml
do yum -y install ${Php_packages_7_3} >>/tmp/php7.3-install.log 2>&1
done
if systemctl start php-fpm >>/tmp/php7.3-install.log 2>&1;then
echo -e "\033[32m [Sucess]\033[0m Php7.3 Install Sucess"
systemctl enable php-fpm >>/tmp/php7.3-install.log 2>&1
else
echo -e "\033[31m [Failed]\033[0m Php7.3 Install Failed"
exit 1
fi
PHP_INFO=$(find / -name php.ini)
sed -i "s#$(grep "date.timezone =" "${PHP_INFO}")#date.timezone = Asia\/Shanghai#g" "${PHP_INFO}"
sed -i "s#$(grep "max_execution_time" "${PHP_INFO}")#max_execution_time = 300#g" "${PHP_INFO}"
sed -i "s#$(grep "post_max_size" "${PHP_INFO}")#post_max_size = 32M#g" "${PHP_INFO}"
sed -i "s#$(grep "max_input_time =" "${PHP_INFO}")#max_input_time = 300#g" "${PHP_INFO}"
sed -i "s#$(grep "memory_limit" "${PHP_INFO}")#memory_limit = 128M#g" "${PHP_INFO}"
sed -i "s#$(grep "upload_max_filesize" "${PHP_INFO}")#upload_max_filesize = 128M#g" "${PHP_INFO}"
if systemctl restart php-fpm >>/tmp/php7.3-install.log 2>&1;then
echo -e "\033[32m [Running]\033[0m Php-fpm-7.3 Is Running Now"
else
echo -e "\033[31m [Stopped]\033[0m Php-fpm-7.3 Is Stopping Now"
fi
}
while :; do
read -r -p "Whether Install PHP? Y/N (Default y Enter):" "YN"
YN=${YN:-y}
case $YN in
y|Y)
echo -e "\n********请选择需要安装的PHP版本:********"
echo -e "(1) Install PHP-5.4"
echo -e "(2) Install PHP-7.0"
echo -e "(3) Install PHP-7.2"
echo -e "(4) Install PHP-7.3"
break
;;
n|N)
exit 1
;;
*)
echo -e "\033[31m [Error] Please Input y/n\033[0m"
;;
esac
done
while :; do
read -r -p "请输入要安装的PHP版本:" Version
case $Version in
1)
Install_php5_4
break
;;
2)
Install_php7_0
break
;;
3)
Install_php7_2
break
;;
4)
Install_php7_3
break
;;
*)
echo -e "\033[31m[Error] Please Enter [1-4]\033[0m"
;;
esac
done

浙公网安备 33010602011771号