Mac OSX编译安装php7.1.8

laravel中用到ldap认证包,要求php7.0以上版本,而且安装MewsCaptcha包的时候 验证码无法显示

报错如下:

Call to undefined function InterventionImageGdimagettfbbox()

搜索发现需要重新编译php,添加 --with-jpeg-dir=DIR

1.下载源码  http://mirrors.sohu.com/php

wget -c http://mirrors.sohu.com/php/php-7.1.7.tar.gz

tar -zxvf php-7.1.7.tar.gz

cd php-7.1.7
./configure --prefix=/usr/local/php7.1.7
--with-config-file-path=/usr/local/php7.1.7/etc
--with-config-file-scan-dir=/usr/local/php7.1.7/etc/conf.d
--with-apxs2=/usr/local/bin/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=/usr/local/Cellar/openssl/1.0.2o_1
--with-mhash
--enable-pcntl

--with-ldap
--enable-sockets

编译的过程遇到的问题

1.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)

解决办法
brew install httpd,然后
find / -name apxs 
Centos下执行 yum install -y httpd-devel 查找到apxs文件路径,然后修改编译参数如下
--with-apxs2=/usr/local/bin/apxs
2.configure: error: OpenSSL version 1.0.1 or greater required.

解决办法:
brew upgrade openssl
然后修改编译参数为 openssl的实际路径

--with-openssl=/usr/local/Cellar/openssl/1.0.2o_1
上述路径根据自己的环境灵活修改
Centos下 需要 yum install openssl openssl-devel
然后ln -s /usr/lib64/lib
configure: error: Cannot find ldap libraries in /usr/lib
解决办法:
cp -frp /usr/lib64/libldap* /usr/lib/
然后再./configure ...即可
报错信息
/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_scanf'
/usr/lib64/liblber-2.4.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] 错误 1

解决办法:

./configure后
编辑MakeFile
找到 开头是 'EXTRA_LIBS' 这一行 在结尾加上 '-llber' 然后执行 make && make install

 参考地址:

https://www.jianshu.com/p/dff29b4566a6

原文地址:https://www.cnblogs.com/Kevin-1967/p/8779177.html