PHP7.1.24编译安装

Download

php-7.1.24.tar.xz

Install

tar -zxvf php-7.1.24.tar.xz
cd php-7.1.24
./configure
make
sudo make isntall

Bug fix

0x01 undefined reference to `libiconv’

在makefile文件中找到EXTRA_LIBS,在后面加上-liconv,其作用是完成内部编码方式和外部编码方式的转换。

另外还可能存在cannot find -liconv的问题,
解决方案如下

仓库地址:https://github.com/bnoordhuis/libiconv
# install
    $ ./configure --prefix=/usr/local
    $ make
    $ make install

0x02 找不到php.ini文件

php -r "phpinfo();" | grep "php.ini"
结果只找到

Configuration File (php.ini) Path => /usr/local/lib

原因是,采用源码编译的方法,并不会自动生成php.ini,需要我们自己生成,通过上面这个命令,我们知道了php.ini文件应该放在/usr/local/lib

下面我们找找php.ini文件
在这里插入图片描述
可以看到,源码中其实已经有了两个模板,development显然是开发环境下的模板,production则是生产环境。下面复制过去即可

sudo cp ./php.ini-development -t /usr/local/lib
sudo mv /usr/local/lib/php.ini-development  /usr/local/lib/php.ini

之后重启服务即可

0x03 update-alternatives管理PHP版本

# 优先级设得稍微大些
sudo update-alternatives --install /usr/bin/php php /usr/local/bin/php 80

0x04 整合apache

如果需要整合apache,需要在configure的时候使用参数--with-apxs2,参数内容为apache的apxs路径,需要apache打开SO模块,命令如下
./configure --with-apxs2=/usr/local/apache/bin/apxs

注意:如果带上--with-apxs2会编译出ZTS版本的PHP
如果需要整合apache但又希望php-cli是NTS版本的话,建议分开编译:

即php-cli使用--prefix=/usr/local
而php-cgi(apache)使用其他指定的地址,如--prefix=/home/user/Desktop/apache_php

这种情况下,如果需要为apache-php编译插件的话,流程如下:

/home/user/Desktop/apache_php/bin/phpize
./configure --with-php-config=/home/user/Desktop/apache_php/bin/php-config
make && sudo make install

另外,记得在apache中指定php.ini的路径,避免与php-cli使用的php.ini重复,因为php-cli和php-cgi有可能需要的插件不一致,操作如下

在httpd.conf中插入下列语句(php.ini路径自己选定)
PHPIniDir /home/user/conf/apache_php/php.ini

0x05 mysqli,mysqlnd,pdo支持

./configure时带上下面的参数

--enable-pdo 
--with-pdo-mysql
--enable-mysqlnd 
--with-mysqli

0x06 较为完整的configure参数

./configure --prefix=/usr/local \
--with-apxs2=/usr/local/apache/bin/apxs \
--enable-pdo \
--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 \
--enable-exif
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值