centos7 编译安装lnmp(1) 编译php5.6

  • 原创
  • |
  • 浏览:920
  • |
  • 更新:

有时候需要使用特定的php版本,我们就可以使用源代码编译,我一直使用phpStudy集成环境,自己在安装php源码是遇到很多错误,遇到错误的时候不要慌,根据错误百度下就好,一般都是php需要的软件没安装,安装了就好了

工具/原料

  • CentOS 7.2
  • php 5.6.31

方法/步骤

  1. 1

    下载源码

        1. 打开php.net官网下载php 5.6.31源码

        2. 执行命令: wget http://cn2.php.net/distributions/php-5.6.31.tar.gz

        3. 解压php源码: tar zxvf php-5.6.31.tar.gz

        4. 进入解压源码目录: cd php-5.6.31

    centos7 编译安装lnmp(1) 编译php5.6
  2. 2

    安装php需要的软件

    yum install -y gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel curl curl-devel libxslt-devel openssl-devel

    注意如果软件包安装了就从安装列表去掉

    centos7 编译安装lnmp(1) 编译php5.6
    centos7 编译安装lnmp(1) 编译php5.6
  3. 3

    编译(安装)配置

    在php-5.6.31目录执行以下命令(安装php到/usr/local/php目录):

    ./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysql --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-sockets --enable-sysvsem --enable-xml --enable-zip

    如果这步出错,就按照错误百度一步步解决(一般都是缺少相应的软件包造成的错误)

    centos7 编译安装lnmp(1) 编译php5.6
    centos7 编译安装lnmp(1) 编译php5.6
  4. 4

    编译php源码

        编译源码只需要执行命令: make

    centos7 编译安装lnmp(1) 编译php5.6
    centos7 编译安装lnmp(1) 编译php5.6
  5. 4
    该信息未经许可获取自百度经验
  6. 5

    安装php源码

        安装源码只需要执行命令: make install

    centos7 编译安装lnmp(1) 编译php5.6
    centos7 编译安装lnmp(1) 编译php5.6
  7. 6

    复制php配置到安装php安装目录

        1. 复制php.ini命令: cp php.ini-development /usr/local/php/lib/php.ini

        2. 复制php-fmp配置命令: cp ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

        3. 查看php是否安装成功: /usr/local/php/bin/php --version

        显示php版本就安装成功了

    php5.6.31就编译安装完了

    centos7 编译安装lnmp(1) 编译php5.6
  8. 7

    fpm路径:  /usr/local/php/sbin/php-fpm

    fpc配置路径:  /usr/local/php/etc/php-fpm.conf

    php.ini路径:  /usr/local/php/lib/php.ini

  9. 8

    php常用命令

        1. 查看php版本: /usr/local/php/bin/php -v

        2. 查看phpinfo: /usr/local/php/bin/php -i

        3. 查看php编译模块: /usr/local/php/bin/php -m

        4. 查看php.ini配置文件路径和目录: /usr/local/php/bin/php --ini

  10. 9

    php-fpm常用命令

        查看php-fpm占用端口号: ps -ef | grep php-fpm

        1. 配置php-fmp: vi /usr/local/php/etc/php-fpm.conf

    修改

    user = nobody

    group = nobody

    改为

    user = www

    group = www

        如果www用户不存在,那么先添加www用户

        groupadd www # 新增用户组

        useradd -g www www # 新增用户并设置用户组

        2. 使用信号管理php-fpm

        INT, TERM 立刻终止

        QUIT 平滑终止

        USR1 重新打开日志文件

        USR2 平滑重载所有worker进程并重新载入配置和二进制模块

    示例:

        1. 启动服务: 

            /usr/local/php/sbin/php-fpm

            指定配置路径启动服务

            /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

        2. 平滑重启服务(会重启加载配置): 

            kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

        3. 重新打开日志文件: 

            kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`

        4. 停止服务: 

            kill -INT `cat /usr/local/php/var/run/php-fpm.pid`

        5. 平滑停止服务: 

            kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`

             6. 测试php-fpm配置

    /usr/local/php/sbin/php-fpm -t

    /usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini -y /usr/local/php/etc/php-fpm.conf -t

    END

注意事项

  • 安装php需要的软件如果已经安装,就从安装列表去掉
  • 编译配置报错时,一般是缺少相应的软件包,如果报错根据错误信息百度
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部