• php之编译安装


      

    1. 安装所需环境

    yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libzip-devel pcre-devel

    2. 下载并安装PHP

    1. 下载
    wget http://cn2.php.net/distributions/php-7.3.3.tar.gz
    
    2. 解压
    tar -xzf php-7.3.3.tar.gz
    
    3. 进入目录
    cd php7.3.3
    
    4. 编译php
    ./configure --prefix=/usr/local/php7 
    --with-config-file-path=/usr/local/php7/etc 
    --with-config-file-scan-dir=/usr/local/php7/etc/php.d --enable-mysqlnd 
    --with-mysqli 
    --with-pdo-mysql 
    --enable-fpm 
    --with-fpm-user=nginx 
    --with-fpm-group=nginx 
    --with-gd 
    --with-iconv 
    --with-zlib 
    --enable-xml 
    --enable-shmop 
    --enable-sysvsem 
    --enable-inline-optimization 
    --enable-mbregex 
    --enable-mbstring 
    --enable-ftp --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

      编译,安装

    make && make install -j2
    
    -j: 启用两个任务

    3. 配置PHP

      1) 复制ini文件

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

      2) 配置fpm

    cd /usr/src/php-7.0.0/sapi/fpm
    
    cp init.d.php-fpm /etc/init.d/php-fpm
    
    chmod +x /etc/init.d/php-fpm
    
    chkconfig --add php-fpm
    
    chkconfig php-fpm on

    4. 启动服务

    /etc/init.d/php-fpm start

    5. 添加环境变量

    vim /etc/profile
    
    最后添加
    export PATH=$PATH:/usr/local/php7/bin
    
    马上生效
    source /etc/profile
    
    可以正常使用全局命令
    php -v
    
    PHP 7.2.0 (cli) (built: Jan 16 2020 12:17:55) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies

     常见错误:

      1. 

    make时提示:
    .....................................................
    ext/iconv/.libs/iconv.o(.text+0x1738): In function `zif_iconv_mime_encode':
    /usr/src/php-7.2.0/ext/iconv/iconv.c:1017: undefined reference to `libiconv_open'
    ext/iconv/.libs/iconv.o(.text+0x1756):/usr/src/php-7.2.0/ext/iconv/iconv.c:1031: undefined reference to `libiconv_open'
    ext/iconv/.libs/iconv.o(.text+0x1993):/usr/src/php-7.2.0/ext/iconv/iconv.c:1290: undefined reference to `libiconv_close'
    ext/iconv/.libs/iconv.o(.text+0x19ad):/usr/src/php-7.2.0/ext/iconv/iconv.c:1293: undefined reference to `libiconv_close'
    ext/iconv/.libs/iconv.o(.text+0x1b01):/usr/src/php-7.2.0/ext/iconv/iconv.c:1102: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x1b33):/usr/src/php-7.2.0/ext/iconv/iconv.c:1134: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x1b5e):/usr/src/php-7.2.0/ext/iconv/iconv.c:1150: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x1e10):/usr/src/php-7.2.0/ext/iconv/iconv.c:1202: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x1e3c):/usr/src/php-7.2.0/ext/iconv/iconv.c:1233: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x207f):/usr/src/php-7.2.0/ext/iconv/iconv.c:1277: more undefined references to `libiconv' follow
    ext/iconv/.libs/iconv.o(.text+0x2c08): In function `php_iconv_stream_filter_dtor':
    /usr/src/php-7.2.0/ext/iconv/iconv.c:2393: undefined reference to `libiconv_close'
    ext/iconv/.libs/iconv.o(.text+0x2cf2): In function `php_iconv_stream_filter_append_bucket':
    /usr/src/php-7.2.0/ext/iconv/iconv.c:2543: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x2d34):/usr/src/php-7.2.0/ext/iconv/iconv.c:2543: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x2de7):/usr/src/php-7.2.0/ext/iconv/iconv.c:2465: undefined reference to `libiconv'
    ext/iconv/.libs/iconv.o(.text+0x30e2): In function `php_iconv_stream_filter_factory_create':
    /usr/src/php-7.2.0/ext/iconv/iconv.c:2419: undefined reference to `libiconv_open'
    collect2: ld returned 1 exit status
    make: *** [sapi/cli/php] Error 1
    

      解决:

      

    安装libiconv:
    #wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
    #tar -zxvf libiconv-1.13.1.tar.gz
    #cd libiconv-1.13.1
    # ./configure --prefix=/usr/local/libiconv
    # make
    # make install
    
    编译PHP添加参数:
    再检查php,指定 iconv的位置  --with-iconv=/usr/local/libiconv
    #./configure --prefix=/usr/local/php72 --with-iconv=/usr/local/libiconv
    #make
    #make install

       

      2. error:Please reinstall the BZip2 distribution

    yum install bzip2 bzip2-devel

      3. configure: error: cURL version 7.10.5 or later is required to compile php with cURL support

    yum -y install libcurl libcurl-devel

      

  • 相关阅读:
    log4net
    winform datagridview 刷新数据不需要重新绑定
    Git 简明教程(一)
    Task详解【转载】
    虚拟机Linux系统手动指定IP
    DataGrip连接sqlserver,提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
    c#中Equals方法和GetHashCode
    获取程序集的类型信息
    第一个windows桌面应用程序
    在运行时让PropertyGrid动态显示我们想要的对象属性
  • 原文地址:https://www.cnblogs.com/xingxia/p/php-fpm_install_b.html
Copyright © 2020-2023  润新知