Alibaba Cloud Linux 3.2104 64位安装php7.2.12

2023-03-12,,

1  安装php所需要的扩展

     yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel  gd gd-devel 
2 安装php

   ./configure --prefix=/usr/local/php7.2 --enable-shared --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-libxml-dir --with-openssl --with-curl --with-zlib-dir -with-gettext --with-jpeg-dir --with-png-dir --with-bz2 --with-freetype-dir --with-iconv --with-config-file-path=/usr/local/php7.2/etc --enable-mbstring --with-gd --disable-debug --enable-short-tags --disable-posix --enable-exif --enable-ftp --enable-sockets --with-mhash --enable-zip --enable-opcache --enable-inline-optimization

   make

   make install

   cp php.ini-production /usr/local/php7.2/etc/php.ini
3 编辑php配置文件

   编辑 php.ini文件  设置如下

short_open_tag = On

disable_functions = "dl,exec,passthru,pcntl_exec,popen,posix_kill,posix_mkfifo,posix_setuid,proc_close,proc_open,proc_terminate,shell_exec,system,leak,posix_setpgid,posix_setsid,proc_get_status,proc_nice,show_source"

cgi.fix_pathinfo=0

date.timezone = Asia/Shanghai
expose_php = Off
4 编辑php-fpm配置文件

cp php-fpm.conf.default  php-fpm.conf

  编辑  php-fpm.conf  设置如下

  pid = /usr/local/php7/var/run/php-fpm.pid

  error_log = log/php-fpm.log

  log_level = notice

   process_control_timeout = 30

  events.mechanism = epoll

  listen = 127.0.0.1:9007

   listen.backlog = -1

   pm.max_children = 1024

    pm.start_servers = 80

    pm.min_spare_servers = 20

    pm.max_spare_servers = 80

    pm.max_requests = 2000

    pm.status_path = /status

    ping.path = /ping

    ping.response = pong

    slowlog =  var/log/phpslow_$pool.log

    request_slowlog_timeout = 5s

    request_terminate_timeout = 60s

     rlimit_files = 65534

    php_admin_value[open_basedir] = "/tmp/"
php_admin_value[disable_functions] = dl,exec,leak,passthru,pcntl_exec,popen,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,show_source,system
5 测试php

   #测试php-fpm配置
/usr/local/php7.2/sbin/php-fpm -t
/usr/local/php7.2/sbin/php-fpm -c /usr/local/php7/etc/php.ini -y /usr/local/php7.2/etc/php-fpm.conf -t #启动php-fpm
/usr/local/php7.2/sbin/php-fpm
/usr/local/php7.2/sbin/php-fpm -c /usr/local/php7/etc/php.ini -y /usr/local/php7.2/etc/php-fpm.conf #关闭php-fpm
kill -INT `cat /usr/local/php7.2/var/run/php-fpm.pid` #重启php-fpm
kill -USR2 `cat /usr/local/php7.2/var/run/php-fpm.pid`
6  配置开机启动

vi  /etc/init.d/php7-fpm 写入如下内容 根据实际情况修改

#!/bin/bash
# chkconfig: 2345 10 90
# description: php-fpm is a FastCGI web server.
# processname: php7-fpm
# config: /usr/local/php7.2/etc/php-fpm.conf
# pidfile: /usr/local/php7.2/var/run/php-fpm.pid
#=======================================================================================
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin BINFILE="/usr/local/php7.2/sbin/php-fpm"
CFGFILE="/usr/local/php7.2/etc/php-fpm.conf"
PIDFILE="/usr/local/php7.2/var/run/php-fpm.pid"
LOCKFILE="/usr/local/php7.2/var/run/php-fpm.lock" RETVAL=0 start() {
[[ -x $BINFILE ]] || exit 5
[[ -f $CFGFILE ]] || exit 6 if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -gt 0 ]]; then
echo "The php-fpm is already running."
return 1
fi $BINFILE -t >/dev/null 2>&1 if [[ $? -ne 0 ]]; then
echo "The php-fpm configure has error."
return 1
fi echo -n "Starting php-fpm......"
$BINFILE -y $CFGFILE -g ${PIDFILE}
RETVAL=$?
echo
[[ $RETVAL -eq 0 ]] && touch $LOCKFILE return $RETVAL
} stop() {
if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then
echo "The php-fpm is not running."
return 1
fi echo -n "Shutting down php-fpm......" if [[ -f $PIDFILE ]]; then
kill -QUIT `cat ${PIDFILE}`
else
kill -QUIT `ps aux | grep php-fpm | awk '/master/{print $2}'`
fi RETVAL=$?
echo
[[ $RETVAL -eq 0 ]] && rm -f $LOCKFILE $PIDFILE return $RETVAL
} restart() {
stop
sleep 1 while true
do
if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then
start
break
fi
sleep 1
done RETVAL=$?
echo return $RETVAL
} reload() {
if [[ `ps aux | grep php-fpm: | grep -v grep | wc -l` -eq 0 ]]; then
echo "The php-fpm is not running."
return 1
fi echo -n $"Reloading php-fpm......" if [[ -f $PIDFILE ]]; then
kill -USR2 `cat ${PIDFILE}`
else
kill -USR2 `ps aux | grep php-fpm | awk '/master/{print $2}'`
fi RETVAL=$?
echo return $RETVAL
} case "$1" in
start)
start
;; stop)
stop
;; restart)
restart
;; reload)
reload
;; *)
echo "Usage: service php-fpm {start|stop|restart|reload}"
RETVAL=1
esac exit $RETVAL
7 配置开机启动

chmod 755 /etc/init.d/php7-fpm
chkconfig --add php7-fpm
chkconfig php7-fpm on
/etc/init.d/php7-fpm start

Alibaba Cloud Linux 3.2104 64位安装php7.2.12的相关教程结束。

《Alibaba Cloud Linux 3.2104 64位安装php7.2.12.doc》

下载本文的Word格式文档,以方便收藏与打印。