php7.3安装扩展Molten 遇到make编译 HASH_FLAG_PERSISTENT 报错问题

本机测试环境是  macOS 10.15.7,   nginx 1.19,  php7.3.24 

1、下载molten包  https://github.com/chuan-yun/Molten 并解压目录并进入目录

cd /Applications/MAMP/bin/php/php7.3.24/include/php/ext/Molten-master

 

2、执行phpize  以下phpize的执行路径根据自己环境默认php版本的路径来,我用的7.3 (记得要切换至swoole扩展目录下执行)

sudo /Applications/MAMP/bin/php/php7.3.24/bin/phpize

 

3、执行 ./configure (注意php-config的路径)

./configure --with-php-config=/Applications/MAMP/bin/php/php7.3.24/bin/php-config --enable-zipkin-header=yes

 

4、然后就是 make && make install 会遇到如图的问题

 

 

这个报错是因为7.3以后的版本 HASH_FLAG_PERSISTENT 都改成了 IS_ARRAY_PERSISTENT

解决方法:

找到路径文件  (下载的Molten-master的路径)

/Applications/MAMP/bin/php/php7.3.24/include/php/ext/Molten-master/molten.c

把文件里面的  HASH_FLAG_PERSISTENT 替换成  IS_ARRAY_PERSISTENT,后保存文件。

 

5、继续执行make && make install ,成功后 配置php.ini,添加以下 (注意路径)

 

extension="/Applications/MAMP/bin/php/php7.3.24/lib/php/extensions/no-debug-non-zts-20180731/molten.so"

 

posted @ 2021-07-26 20:02  木木船长  阅读(186)  评论(0编辑  收藏  举报