CentOS 7 下 PHP 7.1.12 安装配置

Linux系统:CentOS 7

记录在CentOS 7 下 PHP 7.1.12 安装配置的过程。

先安装相关依赖包

 yum install

 pcre pcre-devel zlib zlib-devel openssl openssl-devel gd gd-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel lua-devel
 autoconf libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libidn libidn-devel libtool libtool-libs libevent-devel libevent openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool-ltdl libtool-ltdl-devel bison libgcrypt php-mcrypt libmcrypt libmcrypt-devel cmake gcc gcc-c++ ncurses-devel perl-Data-Dumper libicu-devel libquadmath-devel python-devel bzip2-devel

我也不做区分了;这些是搭建lnpm环境需要安装的相关依赖包,就全安装完了。

下载php,我是到官网去下载的http://www.php.net/downloads.php

下载一个最新稳定版的tar.gz格式

之后用xftp工具远程链接linux,把下载包放到linux的/usr/local/目录下

1解压:

[root@localhost

[root@localhost]# tar -zxvf php-7.1.12.tar.gz

2编译:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mcrypt=/usr/include --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --with-png-dir --with-libxml-dir --with-mcrypt --with-mhash

编译中有报错error的内容,看报错内容相应解决,有些报错是没找到依赖包需查看依赖包是否全部安装好了;还有一些没安装mysql的要先安装mysql

解决php编译报错configure: error: mcrypt.h not found. Please reinstall libmcrypt.

yum install -y epel-release
yum install -y libmcrypt-devel
两个不能一起安装,因为CentOs6默认的yum源没有 libmcrypt-devel这个包,只能借助epel的yum源,所以先安装epel,再安装
libmcrypt

全部编译完成之后执行:

make && make install  

3.配置启动:

make安装完成之后会出现目录/usr/local/php;

执行下面这句话

[root@localhost local]# ll /usr/local/php/etc/

可以看到目录下的配置文件,一般我都会把配置文件转移到非root用户的其它用户的家目录下面

比如我创建一个adv用户,在adv用户下面创建一个目录保存php 的配置文件;

[root@localhost home]# cd /home/adv/

[root@localhost adv]# mkdir phpfpm

[root@localhost adv]# cd phpfpm/

[root@localhost phpfpm]# mkdir conf

此时我们已经有了这样的目录/home/adv/phpfpm/conf

接下来把配置文件cp到/home/adv/phpfpm/conf目录下

1.先把php.ini文件cp到/home/adv/phpfpm/conf目录下

php.ini文件在你刚刚解压的php-7.1.12文件里

[root@localhost /]# cp /usr/local/php-7.1.12/php.ini-production /home/adv/phpfpm/conf/php.ini

[root@localhost /]# cp /usr/local/php/etc/php-fpm.conf.default /home/adv/phpfpm/conf/php-fpm.conf

p /usr/local/php/etc/php-fpm.d/www.conf.default /home/adv/phpfpm/conf/backend.conf

现在我们可以看到/home/adv/phpfpm/conf/目录下有三个文件

2修改配置文件:

修改php-fpm.conf文件

[root@localhost /]# vim php-fpm.conf

 

还有其它的配置需要修改根据个人需要自行修改

3.编辑启动php文件; 因为我们把配置文件转移到了adv用户下,所以需要指定配置文件来启动php

启动脚本:[root@localhost phpfpm]# vim /home/adv/phpfpm/phpfpm.sh

#!/bin/bash

CURRDIR=`dirname "$0"`
BASEDIR=`cd "$CURRDIR"; pwd`

NAME="php-fpm"
CMD=/usr/local/php/sbin/php-fpm

if [ "$1" = "-d" ]; then
    shift
    EXECUTEDIR=$1'/'
    shift
else
    EXECUTEDIR=$BASEDIR'/'
fi

if [ ! -d "$EXECUTEDIR" ]; then
    echo "ERROR: $EXECUTEDIR is not a dir"
    exit
fi

if [ ! -d "$EXECUTEDIR"/conf ]; then
    echo "ERROR: could not find $EXECUTEDIR/conf/"
    exit
fi

if [ ! -d "$EXECUTEDIR"/logs ]; then
    mkdir "$EXECUTEDIR"/logs
fi

cd "$EXECUTEDIR"

PID_FILE="$EXECUTEDIR"/logs/php-fpm.pid

check_pid() {
    RETVAL=1if [ -f $PID_FILE ]; then
        PID=`cat $PID_FILE`
        ls /proc/$PID &> /dev/nullif [ $? -eq 0 ]; then
            RETVAL=0
        fi
    fi
}

check_running() {
    PID=0
    RETVAL=0
    check_pid
    if [ $RETVAL -eq 0 ]; then
        echo "$CMD is running as $PID, we'll do nothing"
        exit
    fi
}

start() {
    check_running
    "$CMD" -y "$EXECUTEDIR/conf/php-fpm.conf" -c "$EXECUTEDIR/conf/php.ini" -p `pwd`
}

stop() {
    kill -SIGQUIT `cat $PID_FILE`
}

status() {
    check_pid
    if [ $RETVAL -eq 0 ]; then
        echo "php-fpm is running as $PID ..."else
        echo "php-fpm is not running"
    fi
}

reload() {
    check_pid
    if [ $RETVAL -eq 0 ]; then
        kill -SIGUSR2 `cat $PID_FILE`
    else
        echo "php-fpm is not running"
    fi
}

reopen() {
    check_pid
    if [ $RETVAL -eq 0 ]; then
        kill -SIGUSR1 `cat $PID_FILE`
    else
        echo "php-fpm is not running"
    fi
}

RETVAL=0case"$1"in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        status
        ;;
    reload)
        reload
        ;;
    reopen)
        reopen
        ;;
    *)
    echo "Usage: $0 {start|stop|restart|status|reload|reopen}"
    RETVAL=1
esac
exit $RETVAL 

编写好之后就可以用,启动测试

[root@localhost phpfpm]# bash phpfpm.sh
Usage: phpfpm.sh {start|stop|restart|status|reload|reopen}
[root@localhost phpfpm]#

可以看到 phpfpm.sh {start|stop|restart|status|reload|reopen} 启动有这些可执行

启动:

[root@localhost phpfpm]# bash phpfpm.sh start 

执行以下命令查看是否启动成功,是否有进程

root@localhost phpfpm]# ps -ef | grep php

可以看到红色框框标明的说明启动成功了;

既然配置放到了adv用户下,启动还是建议用adv这个用户来启动;

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220742.html<

(0)
运维的头像运维
上一篇2025-04-14 17:20
下一篇 2025-04-14 17:22

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注