阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7 下 PHP 7.1.12 安装配置

160次阅读
没有评论

共计 5027 个字符,预计需要花费 13 分钟才能阅读完成。

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

CentOS 7 下 PHP 7.1.12 安装配置

下载一个最新稳定版的 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/

CentOS 7 下 PHP 7.1.12 安装配置

可以看到目录下的配置文件,一般我都会把配置文件转移到非 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 文件里

CentOS 7 下 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

CentOS 7 下 PHP 7.1.12 安装配置

 

 CentOS 7 下 PHP 7.1.12 安装配置

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

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=1
    if [-f $PID_FILE ]; then
        PID=`cat $PID_FILE`
        ls /proc/$PID &> /dev/null
        if [$? -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=0
case "$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

CentOS 7 下 PHP 7.1.12 安装配置

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

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

Red Hat Enterprise Linux 7.3 下 PHP 安装  http://www.linuxidc.com/Linux/2017-05/143942.htm

《细说 PHP》高清扫描 PDF+ 光盘源码 + 全套教学视频 http://www.linuxidc.com/Linux/2014-03/97536.htm 

CentOS 7.3 环境下 PHP7.0 安装  http://www.linuxidc.com/Linux/2017-08/146433.htm

CentOS 7.2 下编译安装 PHP7.0.10+MySQL5.7.14+Nginx1.10.1  http://www.linuxidc.com/Linux/2016-09/134804.htm

Linux 安装 PHP5 与 PHP7 共存  http://www.linuxidc.com/Linux/2018-01/150007.htm

Linux 安装 PHP 扩展模块详解  http://www.linuxidc.com/Linux/2018-01/150006.htm

CentOS 7 下使用 MySQL 5.7 + PHP 7 + Apache 部署 Nextcloud  http://www.linuxidc.com/Linux/2017-12/149945.htm

Ubuntu 17.10 上安装 LEMP 环境(Nginx,MariaDB,PHP7.1)http://www.linuxidc.com/Linux/2017-12/149581.htm

PHP 的详细介绍 :请点这里
PHP 的下载地址 :请点这里 

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2018-01/150508.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5027字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中