1. 安装基础组件

yum install -y libxml2 libxml2-devel bzip2 bzip2-devel curl-devel libjpeg libjpeg-devel libmcrypt libmcrypt-devel libpng  libpng-devel

 2. 下载并解压

  wget http://mirrors.sohu.com/php/php-7.1.5.tar.gz

 tar xzvf php-7.1.5.tar.gz

 cd php-7.1.5

3. 编译安装

   wget http://mirrors.sohu.com/php/php-7.1.5.tar.gz

   tar xzvf php-7.1.5.tar.gz

   cd php-7.1.5

编译参数

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-soap \
--with-openssl \
--with-openssl-dir \
--with-mcrypt \
--with-pcre-regex \
--with-zlib \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-mbstring \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-pdo-mysql \
--with-zlib-dir \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd \
--with-mysqli \
--without-pear

~#  make && make install

4. 配置文件修改(去掉文件中的注释、空行,[:g/^;/d] 和 [:g/^$/d])

  a)   拷贝一份php.ini(默认不配置)

    cp /usr/local/php/php-ini.production /usr/local/php/etc/php.ini

    php.ini是php运行核心配置文件:

      ######避免PHP信息暴露在http头中

      expose_php = Off

      ######常用配置

      error_reporting = E_ALL & ~E_NOTICE
      display_errors = Off
      log_errors = On
      html_errors = Off
      error_log = /var/log/php/php-error.log
      ignore_repeated_errors = On
      ignore_repeated_source = On

      post_max_size = 32M
      memory_limit = 512M
      max_execution_time = 300
      file_uploads = On
      upload_tmp_dir = /tmp/www
      upload_max_filesize = 8M
      session.gc_maxlifetime = 14400

      ######设置PHP的扩展
      extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303"
      extension=mysqli.so
      extension=pdo_mysql.so
      extension=opcache.so
      extension=redis.so
      extension=swoole.so

      ######设置PHP的时区
      date.timezone = PRC

      ######开启opcache
      [opcache]
      opcache.enable=1

      ######设置PHP脚本允许访问的目录(需要根据实际情况配置)
      ;open_basedir = /usr/share/nginx/html;

 

  b)  php-fpm配置文件修改

    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

    添加如下内容: 

    pid = /usr/local/php/var/run/php-fpm.pid
    error_log = /usr/local/php/var/log/php-fpm.log

  c)  www.conf

    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

    添加如下内容:

    ###设置用户和用户组####

    [www]

    user = www

    group = www

    ### 使用静态进程数max_children=内存/512  ###

    pm = dynamic
    pm.max_children = 50
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3
    pm.max_requests =0

    ###  根据nginx.conf中的配置fastcgi_pass unix 设置PHP监听 ###

    listen = /tmp/php-fpm.sock
    listen.owner = www
    listen.group = www
    listen.mode = 0777
    listen.allowed_clients = 127.0.0.1
    listen = 9000

5. 测试php-fpm配置,设置开机自启动

   cp /usr/local/src/php-7.1.5/sapi/fpm/php-fpm.service /etc/init.d/php-fpm.service   

    ###  测试配置  ###
    /usr/local/php7/sbin/php-fpm -t

    ###  修改文件权限  ###
    chmod 745 /lib/systemd/system/php-fpm.service

    ###  设置为开机启动  ###
    systemctl enable php-fpm.service

    ###  启动php-fpm  ###启动
    systemctl start php-fpm.service

参考链接 : http://www.cnblogs.com/doseoer/p/5350944.html

    

PHP 7.1.5编译安装的更多相关文章

  1. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

  2. CENTOS 6.5 平台离线编译安装 PHP5.6.6

    一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...

  3. Linux下编译安装Vim8.0

    什么是Vim? Vim 是经典的 UNIX 编辑器 Vi 的深度改良版本.它增加了许多功能,包括:多级撤销.格式高亮.命令行历史.在线帮助.拼写检查.文件名补完.块操作.脚本支持,等等.除了字符界面版 ...

  4. OpenSUSE下编译安装OpenFoam

    在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...

  5. 不要着急改代码,先想想--centos 6.8下编译安装tmux

    诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...

  6. protobuf的编译安装

    github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...

  7. 编译安装mysql

    参考:http://www.centoscn.com/CentosServer/www/2015/0422/5245.html 安装mysql5.6.17 1.按照标准需要给mysql创建所属用户和用 ...

  8. 编译安装zabbix3.2

    1.1 环境准备 系统环境准备:redhat 6.6 64位mysql-5.6.34php-5.6.28zabbix-3.2.1配置前先关闭iptables和SELINUX,避免安装过程中报错. # ...

  9. centos系统编译安装nginx+php环境另加独立mysql教程

    以前看过的安装nginx+php环境都带了mysql数据库了,这个是因为很多站长都是nginx+php+mysql都在同一台服务器了,那么今天我们是单独处理了,一个是nginx+php环境,然后mys ...

  10. Nginx编译安装(Centos)

    前言 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大 ...

随机推荐

  1. 关闭chrome浏览器的input香蕉黄背景

    chrome浏览器input的自动完成,点击之后自动输入,input的背景会变成香蕉黄,用如下方法修复: /* Change the white to any color ;) 就是给input设置内 ...

  2. [解决方案]Window 2008 R2 + IIS7.5 + VS2013 错误代码 0x80070002

    HTTP 错误 404.0 - Not Found 您要找的资源已被删除.已更名或暂时不可用.详细错误信息模块 IIS Web Core通知 MapRequest Handler处理程序 Static ...

  3. [SCOI2016] 背单词 (Trie 树,贪心)

    题目链接 大致题意 给你 \(n\) 个字符串, 要求你给出最小的代价. 对于每个字符串: 1.如果它的后缀在它之后,那么代价为 \(n^2\). 2.如果一个字符串没有后缀,那么代价为 \(x\), ...

  4. 【bzoj3270】博物馆

    同样是高斯消元,我写的版本就受到了歧视 我怎么又犯把 $j$ 打成 $i$ 这种 $sb$ 错误 题意 一张无向图,两个人分别从 $s_1$ 号点和 $s2$ 号点开始,每轮两人都会同时进行一次以下操 ...

  5. 数据库操作之——key与index的区别

    mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的. 1 key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查 ...

  6. python 面向对象与类的基本知识

    一  什么是面向对象,面向对象与类的关系. 面向对象的程序设计是用来解决扩展性. 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象 ...

  7. 【CF1017C】The Phone Number(构造)

    题意:要求构造一个1-n的排列,使得它的LIS+LDS最小 n<=1e5 思路:一个百度之星时候从LYY处听来的结论:1-n随机排列的LIS期望是根号级别的 考虑将LIS与LDS都构造成根号级别 ...

  8. CentOS找不到想要的镜像版本?

    CentOS找不到想要的镜像版本? 情景: 当学习Linux时,一般教程不是最新的,教程里的CentOS版本也就不是最新的,这个时候, 在看着教程练习的时候就需要安装指定的版本,避免因为版本不同造成困 ...

  9. 彻底删除node_modules文件

    npm install rimraf -g rimraf node_modules

  10. js-在url后面添加时间戳清除浏览器打开页面的缓存

    这个解决办法还是在网上搜出来的,我还没有测试呢: 我有想既然可以添加时间戳,那可以添加随机数吗?我感觉是可以的,尽管没有测试过. 2018-3-13 几天前我就这个问题询问过我们的后台,加时间戳能否真 ...