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-fpmif [ "$1" = "-d"]; then

shift

EXECUTEDIR=$1'/'shiftelseEXECUTEDIR=$BASEDIR'/'fiif [ ! -d "$EXECUTEDIR"]; then

echo"ERROR: $EXECUTEDIR is not a dir"exit

fiif [ ! -d "$EXECUTEDIR"/conf ]; then

echo"ERROR: could not find $EXECUTEDIR/conf/"exit

fiif [ ! -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=0fi

fi

}

check_running() {

PID=0RETVAL=0check_pidif [ $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_pidif [ $RETVAL -eq 0]; then

echo"php-fpm is running as $PID ..."

elseecho"php-fpm is not running"fi

}

reload() {

check_pidif [ $RETVAL -eq 0]; then

kill-SIGUSR2 `cat $PID_FILE`elseecho"php-fpm is not running"fi

}

reopen() {

check_pidif [ $RETVAL -eq 0]; then

kill-SIGUSR1 `cat $PID_FILE`elseecho"php-fpm is not running"fi

}

RETVAL=0

case "$1" instart)

start

;;

stop)

stop

;;

restart)

stop

start

;;

status)

status

;;

reload)

reload

;;

reopen)

reopen

;;*)

echo"Usage: $0 {start|stop|restart|status|reload|reopen}"RETVAL=1esac

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这个用户来启动;

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

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

PHP 的详细介绍:请点这里

PHP 的下载地址:请点这里

linux服务器安装php7_CentOS 7 下 PHP 7.1.12 安装配置相关推荐

  1. transmission Linux(debian)下的BT下载客户端安装

    transmission Linux(debian)下的BT下载客户端安装 转载于:https://blog.51cto.com/2042617/1597540

  2. linux mysql 5.7.12_Linux环境mysql5.7.12安装教程

    在Linux上安装MySQL 环境:windows7 虚拟机:Oracle VMVirtualBox Linux: ubuntukylin-14.04.1-amd64.iso mysql:5.7.12 ...

  3. Linux与云计算——第二阶段Linux服务器架设 第八章:FTP服务器架设—安装配置FTP服务和客户端配置...

    Linux与云计算--第二阶段Linux服务器架设 第八章:FTP服务器架设-安装配置FTP服务和客户端配置 安装Vsftpd [1] 安装并配置Vsftpd. [root@server ~]# yu ...

  4. linux计算服务器配置,Linux与云计算——第二阶段Linux服务器架设 第八章:FTP服务器架设—安装配置FTP服务和客户端配置...

    Linux与云计算--第二阶段Linux服务器架设 第八章:FTP服务器架设-安装配置FTP服务和客户端配置 安装Vsftpd [1]安装并配置Vsftpd. [root@server ~]# yum ...

  5. mysql 5.6.15安装图解_Windows8下mysql 5.6.15 安装配置方法图文教程

    MySQL是一款我十分喜欢的数据库,今天在Windows8系统下,下载了MySQL进行安装配置,下载地址:点击打开链接 特在此记录下自己的过程,一是起到总结的作用,二是能帮助那些和我一样在安装配置中有 ...

  6. linux(ubuntu16.04)系统下Matlab2015b软件下载与安装

    Linux版Matlab2015b软件下载安装与运行 一.Matlab软件(Linux版)百度网盘下载 二.软件安装教程 三.软件破解步骤 四.打开软件和添加环境变量 五.创建linux桌面快捷方式 ...

  7. linux怎么切换到etc目录,Linux的/etc目录下自己使用到的一些配置

    etc stand for "etcetera." 意思为附加物.等等.Linux的/etc目录下存放的是重要的系统配置 1. profile文件 在用户态写程序时,如果出现段错误 ...

  8. xps13安装linux系统,[操作系统]Dell XPS 13 (9360)安装配置 ubuntu 16.04 实现 win10 Linux双系统...

    [操作系统]Dell XPS 13 (9360)安装配置 ubuntu 16.04 实现 win10 Linux双系统 0 2017-07-17 12:00:18 博主今日投身于SLAM的研究事业,放 ...

  9. win10下mysql 8.0.18 安装配置方法图文教程

    1.进入地址:https://dev.mysql.com/downloads/mysql/ 下载mysql-8.0.11-winx64 2.解压zip包,并将解压文件放入一个文件夹下,如图: 3.配置 ...

最新文章

  1. 关于Access数据库执行Update语句后,不报错,但影响行数总是返回0的问题
  2. python实现cc攻击_运维纪录:遭遇CC攻击,防御与查水表
  3. vim 使用技巧 转载
  4. 比较两个二维数组是否相等
  5. BZOJ 1087状态压缩DP
  6. 网上教育能改变教育不公平的现状吗?
  7. java 2 图形设计卷i awt_java 2 图形设计卷i:awt
  8. 怎么用c语言写贪吃蛇贴吧,刚学C语言,想写一个贪吃蛇的代码
  9. 年货怎么到家早?华为云+AI 告诉你!
  10. Bi-LSTM+CRF模型实现命名实体识别
  11. Android5.1/7.1 Selinux JNI访问新增/dev/xxx设备节点
  12. onvif协议之抓图
  13. oracle 10g 安装步骤
  14. Java程序设计之扑克牌
  15. (十)Hibernate的一对一关联关系
  16. 女性手游市场,金矿还是深坑?
  17. 研究生毕业做软件测试,毕业研究生,转学软件测试月薪11K,会做选择的人生到底有多赚?...
  18. GitHub上14个屌炸天的Java进阶教程、面试真题项目,建议收藏!
  19. python随机生成4位验证码并判断是否正确_python生成4位验证码
  20. 树莓派3B+安装官方原版系统

热门文章

  1. 蚂蚁金服 3 个项目进入 CNCF 云原生全景图 | 开源
  2. 天啦噜!在家和爱豆玩quot;剪刀石头布quot;,阿里工程师如何办到?
  3. 深度学习为图片人物换装【python代码教程】
  4. 如何交付机器学习项目:一份机器学习工程开发流程指南
  5. 阿里云迁云方式大汇总 1
  6. 华为云专属月·行业深耕专项行动正式开启
  7. 提升沟通效率52%  阿里政务钉钉助力政府数字化转型
  8. 云漫圈 | 写给对 ”游戏开发” 感兴趣的朋友们
  9. 云漫圈 | 革命版互联网公司虐恋大戏,周一拿去怼业务!
  10. java 电子编号生成器_业务编号生成器