1、下载稳定版本的PHP
wget -c http://mirrors.sohu.com/php/php-7.1.8.tar.gz
2、解压编译
tar -zxvf php-7.1.8.tar.gz
./configure --prefix=/usr/local/php/7.1.8 \
--with-config-file-path=/usr/local/php/7.1.8/etc \
--with-config-file-scan-dir=/usr/local/php/7.1.8/etc/conf.d \
--with-apxs2=/usr/sbin/apxs \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysqli \
--with-pdo-mysql \
--with-iconv-dir \
--with-freetype-dir \
--with-zlib \
--with-jpeg-dir \
--with-png-dir \
--with-libxml-dir=/usr/bin/xml2-config \
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--enable-mbregex \
--enable-mbstring \
--with-mcrypt \
--enable-ftp \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--disable-fileinfo \
--enable-maintainer-zts \
--enable-mysqlnd
遇到的问题:
- apxs报错的问题
Sorry, I cannot run apxs. Possible reasons follow:
1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)
解决方案:查找httpd安装目录下的bin目录里的 apxs ,尽量不要写/usr/bin/apxs
- 由于Mac自带的openssl没法升级(我没找到升级的办法),导致版本较低,报错:
configure: error: OpenSSL version 1.0.1 or greater required.
解决方案:由于Mac自带的openssl没法升级(我没找到升级的办法),用
brew install openssl
安装最新版的openssl,然后在参数中加上brew安装的ssl的路径
--with-openssl=/usr/local/Cellar/openssl@1.1/1.1.0e
- --with-gettext报错
configure: error: Cannot locate header file libintl.h
解决方案:
brew install gettext
打开PHP的 configure文件,修改文件的
for i in $PHP_GETTEXT /usr/local /usr/ ;do
改成
for i in $PHP_GETTEXT /usr/local /usr/ usr/local/opt/gettext;do
- libiconv问题,报错如下:
checking for iconv... no
checking for libiconv... no
configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>
解决方案:
安装 libiconv (字符编码转换库)
网站地址: http://www.gnu.org/software/libiconv/
当前版本: https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
$ wget [https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
$ tar zxvf libiconv-1.15.tar.gz
$ cd libiconv-1.15
$ ./configure --prefix=/usr/local/lib/libiconv
$ make
$ sudo make install
安装
make && sudo make install