美文网首页
编译安装 PHP 7.2 及扩展

编译安装 PHP 7.2 及扩展

作者: __o__o | 来源:发表于2018-07-05 09:41 被阅读0次
    1. 下载源码:
    wget http://cn2.php.net/distributions/php-7.2.5.tar.gz
    
    1. 解压:
    tar -zxvf php-7.2.5.tar.gz
    
    1. 进入解压目录:
    cd php-7.2.5/
    

    4、准备安装目录:

    mkdir /usr/local/php
    

    A:如果搭配apache使用下面参数安装扩展

    ./configure --prefix=/usr/local/php72 --with-apxs2=/usr/local/apache/bin/apxs --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-openssl --enable-pdo_mysql --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip

    注:
    /usr/local/apache2/bin/apxs,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中

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

    把原来位于源代码里面的 php.ini-development 拷贝到/usr/local/php/lib/php.ini 下,并且重命名为 php.ini

    错误:

    php 编译时 undefined reference to 'libiconv_open' 解决办法
    另一种解决方法为去除 iconv模块也能正常编译php,如下:
    编辑 Makefile 大約 77 行左右的地方:

    EXTRA_LIBS = ..... -lcrypt
    

    在最後加上 -liconv,例如:

    EXTRA_LIBS = ..... -lcrypt -liconv
    

    再运行make就可以了。

    最后一种方法:由tonyty163提供:

    make ZEND_EXTRA_LIBS='-liconv'
    
    make install
    

    不重新编译php, 安装curl扩展

    1. 安装curl
    $ cd ~/
    
    $ wget https://curl.haxx.se/download/curl-7.60.0.tar.gz
    
    $ tar zxvf curl-7.60.0.tar.gz
    
    $ cd curl-7.60.0
    
    $ ./configure --prefix=/usr/local/curl
    
    $ sudo make && sudo  make install
    
    1. 安装php扩展

    因为phpize需要autoconfig, 所以先安装这个.否则会报错"autoconf"没找到

    • 安装 autoconf
    $ sudo apt-get install autoconf
    
    • 安装php扩展,
      进到php的源文件(指的是在网上下载下来的php源代码文件夹), 在需要安装扩展的相应文件夹下执行 /usr/local/php72/bin/phpize.得到configure文件.然后 make && make install来创建 php的扩展, 它将自动把扩展放到相应的位置(php的扩展目录),这个位置会在make install之后,自动显示出来
    $ cd ~/curl-7.60.0/ext/curl
    
    $ /usr/local/php72/bin/phpize
    
    $ ./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/php5/bin/php-config
    
    $ sudo make && sudo make install
    

    3.修改php.ini:

    a. 把php自动生成的扩展目录的路径添加到php.ini里

    extension_dir = “/usr/local/php72/lib/php/extensions/no-debug-non-zts-20170817/”
    
    

    b. 打开curl扩展,在php.ini里添加:

    extension = curl.so
    

    4.重启apache

    相关文章

      网友评论

          本文标题:编译安装 PHP 7.2 及扩展

          本文链接:https://www.haomeiwen.com/subject/aikjuftx.html