介绍:

久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说。如果你是升级或新安装,那你首先需要考虑php7和程序是否存在兼容性,如果程序是基于php5开发的,那么就需要考虑php7是否适合你当前的生产环境,今天我就实操并安装用于生产中。

先安装php依赖包,否则在编译安装php7的过程当中会出现各种报错,安装完成后即可进入下一个环节。

安装扩展包并更新系统内核:

  1. yum install epel-release -y
  2. yum update

安装php依赖组件(包含Nginx依赖):

  1. yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel

创建用户和组,并下载php安装包解压:

  1. cd /tmp
  2. groupadd www
  3. useradd -g www www
  4. wget http://am1.php.net/distributions/php-7.2.1.tar.gz
  5. tar xvf php-7.2..tar.gz
  6. cd php-7.2.

设置变量并开始源码编译:

  1. cp -frp /usr/lib64/libldap* /usr/lib/
  1. ./configure --prefix=/usr/local/php \
  2. --with-config-file-path=/usr/local/php/etc \
  3. --enable-fpm \
  4. --with-fpm-user=www \
  5. --with-fpm-group=www \
  6. --enable-mysqlnd \
  7. --with-mysqli=mysqlnd \
  8. --with-pdo-mysql=mysqlnd \
  9. --enable-mysqlnd-compression-support \
  10. --with-iconv-dir \
  11. --with-freetype-dir \
  12. --with-jpeg-dir \
  13. --with-png-dir \
  14. --with-zlib \
  15. --with-libxml-dir \
  16. --enable-xml \
  17. --disable-rpath \
  18. --enable-bcmath \
  19. --enable-shmop \
  20. --enable-sysvsem \
  21. --enable-inline-optimization \
  22. --with-curl \
  23. --enable-mbregex \
  24. --enable-mbstring \
  25. --enable-intl \
  26. --with-mcrypt \
  27. --with-libmbfl \
  28. --enable-ftp \
  29. --with-gd \
  30. --enable-gd-jis-conv \
  31. --enable-gd-native-ttf \
  32. --with-openssl \
  33. --with-mhash \
  34. --enable-pcntl \
  35. --enable-sockets \
  36. --with-xmlrpc \
  37. --enable-zip \
  38. --enable-soap \
  39. --with-gettext \
  40. --disable-fileinfo \
  41. --enable-opcache \
  42. --with-pear \
  43. --enable-maintainer-zts \
  44. --with-ldap=shared \
  45. --without-gdbm

若无报错执行下一步安装,如果编译过程中出现错误,根据报错安装依赖包,通常不会出现这种问题。

注意:–enable-gd-jis-conv  此参数会导致Zabbix中文字符乱码,建议取消。

开始安装:

  1. make -j && make install

完成安装后配置php.ini文件:

  1. cp php.ini-development /usr/local/php/etc/php.ini
  2. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  3. cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

修改 php.ini 相关参数:

  1. vim /usr/local/php/etc/php.ini
  1. expose_php = Off
  2. short_open_tag = ON
  3. max_execution_time =
  4. max_input_time =
  5. memory_limit = 128M
  6. post_max_size = 32M
  7. date.timezone = Asia/Shanghai
  8. mbstring.func_overload=
  9. extension = "/usr/local/php/lib/php/extensions/no-debug-zts-20170718/ldap.so"
  10.  
  11. #OPcache 缓存
  12. [opcache]
  13. zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-/opcache.so
  14. opcache.memory_consumption=
  15. opcache.interned_strings_buffer=
  16. opcache.max_accelerated_files=
  17. opcache.revalidate_freq=
  18. opcache.fast_shutdown=
  19. opcache.enable_cli=
  20.  
  21. #设置php安全函数
  22. disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru
  23.  
  24. #配置www.conf
  25. listen = /var/run/www/php-cgi.sock
  26. listen.owner = www
  27. listen.group = www
  28. listen.mode =
  29. listen.allowed_clients = 127.0.0.1
  30. pm = dynamic
  31. listen.backlog = -
  32. pm.max_children =
  33. pm.start_servers =
  34. pm.min_spare_servers =
  35. pm.max_spare_servers =
  36. request_terminate_timeout =
  37. request_slowlog_timeout =
  38. slowlog = var/log/slow.log

配置www.conf

  1. listen = /var/run/www/php-cgi.sock
  2. listen.owner = www
  3. listen.group = www
  4. listen.mode =
  5. listen.allowed_clients = 127.0.0.1
  6. pm = dynamic
  7. listen.backlog = -
  8. pm.max_children =
  9. pm.start_servers =
  10. pm.min_spare_servers =
  11. pm.max_spare_servers =
  12. request_terminate_timeout =
  13. request_slowlog_timeout =
  14. slowlog = var/log/slow.log

创建php-cgi.sock存放目录

  1. mkdir /var/run/www/
  2. chown -R www:www /var/run/www

配置php-fpm.conf

  1. vim /usr/local/php/etc/php-fpm.conf

取下以下注释并填写完整路径:

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

至此php7已经安装完成。

说明:禁用php函数,如果程序需要这些函数,可以取消禁止,新手建议忽略此步骤。

创建system系统单元文件php-fpm启动脚本:

  1. vim /usr/lib/systemd/system/php-fpm.service

添加如下变量内容:

  1. [Unit]
  2. Description=The PHP FastCGI Process Manager
  3. After=syslog.target network.target
  4.  
  5. [Service]
  6. Type=simple
  7. PIDFile=/usr/local/php/var/run/php-fpm.pid
  8. ExecStart=/usr/local/php/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php/etc/php-fpm.conf
  9. ExecReload=/bin/kill -USR2 $MAINPID
  10.  
  11. [Install]
  12. WantedBy=multi-user.target

启动php-fpm服务并加入开机自启动:

 

  1. systemctl enable php-fpm.service
  2. systemctl restart php-fpm.service

CentOS编译安装php7.2的更多相关文章

  1. nginx php-fpm安装配置 CentOS编译安装php7.2

    CentOS编译安装php7.2 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具体性能有多好,建议还是先尝试下再说.如果你是升级或新安装,那你首先需要考虑php7和程序是 ...

  2. centos编译安装php7

    环境说明 VMware 12 中搭建的CentOS 7 x64 4核 2G内存 环境中已经安装了http://blog.csdn.net/u014595668/article/details/5016 ...

  3. linux centos编译安装php7.3

    php7.2的编译安装参考:https://www.cnblogs.com/rxbook/p/9106513.html 已有的之前编译的旧版本php: mv /usr/local/php /usr/l ...

  4. centOs编译安装php7.2支持微擎php扩展

    发现yum安装许多坑 于是只好编译安装 第一步得到镜像地址 在      https://www.php.net/downloads.php     有的地址比较慢,需要耐心等待 cd /usr/lo ...

  5. Centos 7源码编译安装 php7.1 之生产篇

    Centos 7源码编译安装 php7.1 之生产篇 Published 2017年4月30日 by Node Cloud 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具 ...

  6. centos7下编译安装php-7.0.15(PHP-FPM)

    centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...

  7. CentOS7 编译安装 php7

    更新:2019-01-25 补充:CentOS 7.5 全新编译安装 PHP-7.3.1 ,补充内容接在原文之后 更新:2018-09-29 补充:新系统下编译安装PHP-7.2.5遇到的问题,补充内 ...

  8. Centos7源码编译安装PHP7.2(生产环境)

    安装PHP依赖包,否则在编译的过程中可能会出现各种报错 # Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum ...

  9. 编译安装PHP7并安装Redis扩展Swoole扩展

    编译安装PHP7并安装Redis扩展Swoole扩展 在编译php7的机器上已经有编译安装过php5.3以上的版本,从而依赖库都有了 本php7是编译成fpm-php 使用的, 如果是apache那么 ...

随机推荐

  1. DNS和Bind配置指南

    /////////////////////////////目录//////////////////////////////////////一.DNS原理相关二.使用bind搭建最简单的DNS服务器三. ...

  2. 深入了解JavaScript中的Symbol的使用方法

    这篇文章主要介绍了深入了解JavaScript中的Symbol的使用方法,本文针对ES6版本的JS进行讲解,需要的朋友可以参考下 Symbol 是什么? Symbols 不是图标,也不是指在代码中可以 ...

  3. django实现图片上传后自动修改尺寸并保存修改后的图到数据库和本地文件系统

    图片上传首先要是设置settings.py文件(与静态文件设置类似) MEDIA_ROOT = os.path.join(BASE_DIR,'media')MEDIA_URL = '/media/' ...

  4. SpringMvc+mybatis mybatis在xml文件中大于小于号处理

    方法一:转移字符 用了转义字符把>和<替换掉,然后就没有问题了. SELECT * FROM test WHERE = AND start_date <= CURRENT_DATE ...

  5. 1-22-shell脚本基本应用-实验手册

    脚本应用思路 1. 确定命令操作(设计并执行任务) 2. 编写Shell脚本(组织任务过程) 3. 设置计划任务(控制时间,调用任务脚本) ------------------------------ ...

  6. 奇怪的表达式求值 (java实现)

    题目参考:http://blog.csdn.net/fuxuemingzhu/article/details/68484749 问题描述; 题目描述: 常规的表达式求值,我们都会根据计算的优先级来计算 ...

  7. Vue实例的生命周期created和mounted的区别

    生命周期先上图 什么是生命周期 Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程,我们称这是Vue的生命周期.通俗说就是Vue实例 ...

  8. canvas线性变换、颜色和样式选择

    1.应用不同的线型 ctx.lineWidth = value; 线条的宽度,默认为1 ctx.lineCap = type; 设置端点样式, type默认为butt,可选值round,square, ...

  9. Highcharts 基本曲线图;Highcharts 带有数据标签曲线图表;Highcharts 异步加载数据曲线图表

    Highcharts 基本曲线图 实例 文件名:highcharts_line_basic.htm <html> <head> <meta charset="U ...

  10. mysql 5.1.71升级到5.6.30

    mysql 5.1.71升级到5.6.30 mysqldump -h主机名 -P端口 -u用户名 -p密码 (–database) 数据库名 > 文件名.sql 备份MySQL数据库的命令 my ...