mac 编译php 7.2+扩展编译 的坑史(不是swoole的坑),php的一个坑,这个坑还没填满,问题根源还没有找到 !
目前网上找到的文章全是php 7.1,但是brew己经没有7.1了,最新是7.2,这让我怀疑是不是我的版本问题,导致swoole编译时总是编译不过去。后来发现任何扩展都编不过去,提示:
Configuring for:
PHP Api Version: 20170718
Zend Module Api No: 20170718
Zend Extension Api No: 320170718
autoheader: error: AC_CONFIG_HEADERS not found in configure.ac
phpize命令总是执行失败,网上有说phpize的脚本有问题,后来发现sed路径也没有问题。这下郁闷了!
看到pecl也能安装swoole,后来牙疼的事情是,吖的brew安装的/usr/local/opt/php@7.2/bin/下面根本没有pecl命令!这简直局坑!
后来发现/usr/local/opt/php@y7.2是软连的一个/usr/local/Celler/php@7.2/7.2.26/目录,然后去这个目录下终于找到了pecl指令/usr/local//Cellar/php@7.2/7.2.26/bin/pecl
运行/usr/local//Cellar/php@7.2/7.2.26/bin/pecl instal swoole 后,提示openssl/ssl.h no found,进行编译阶段,在指行./confgiure --prefix时,按Ctrl+C 终止运行,然后:
cd /private/tmp/pear/temp/swoole/
sudo /private/tmp/pear/temp/swoole/configure --with-php-config=/usr/local/opt/php@7.2/bin/php-config --enable-sockets=yes --enable-openssl=yes --enable-http2=yes --enable-mysqlnd=yes --with-openssl-dir=/usr/local/Cellar/openssl@1.1/1.1.1d
make -j & make install
swoole终于安上了
阿门