rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install -y mod_php72w php72w-cli php72w-common php72w-devel php72w-fpm php72w-mbstring.x86_64 php72w-mysql.x86_64 php72w-pecl-imagick php72w-intl
说明:
mod_php72w:HTTP Server 模块
php72w-cli :php命令行,可以php-cgi执行php服务端进程。比如:
#php-cgi -b 127.0.0.1:9000 -q &
备注:使用该方式启动服务,不定期服务进程会自动退出。目前还没有找出问题原因。
php72w-fpm:PHP FastCGI Process Manager。可以使用php-fpm管理php进程。并且出现php-fpm.conf配置文件。
启动php后台服务进程:
#php-fpm
关闭php服务:
#pkill -9 php-fpm
也可以对PHP 的master进程做如下操作:
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块。
常用操作如下:
php-fpm 关闭:
kill -INT 'cat /usr/local/php/var/run/php-fpm.pid'
php-fpm 重启:
kill -USR2 'cat /usr/local/php/var/run/php-fpm.pid'
备注:
/usr/local/php/var/run/php-fpm.pid 中保存的就是master对应的进程id。
最后写一个php控制脚本:
#!/bin/bash
if [[ $1 = ” ]]
then
echo “usage: sh php.sh start|stop|reload|restart|status”
elif [[ $2 != ” ]]
then
echo “usage: sh php.sh start|stop|reload|restart|status”
elif [[ $1 = ‘stop’ ]]
then
#shutdown php
kill -INT cat /var/run/php-fpm/php-fpm.pid
elif [[ $1 = ‘reload’ || $1 = ‘restart’ ]]
then
#reload php
kill -USR2 cat /var/run/php-fpm/php-fpm.pid
elif [[ $1 = ‘status’ ]]
then
if [[ -e /var/run/php-fpm/php-fpm.pid ]]
then
echo ‘php is running.’
else
echo ‘php is not running’
fi
elif [[ $1 = ‘start’ ]]
then
#start php
/usr/sbin/php-fpm
if [[ -e /var/run/php-fpm/php-fpm.pid ]]
then
echo ‘php is running.’
else
echo ‘php is not running’
fi
else
echo “usage: sh php.sh start|stop|reload|restart|status”
fi
参考:https://www.mdaima.com/it/689.html
CentOS/RHEL 7.x:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
CentOS/RHEL 6.x(只能更新到php7.1版本):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm