本文操作环境:macOS 10.15.7系统、php7.3.24版、DELL G3电脑
本机测试环境是 macOS 10.15.7, nginx 1.19, php7.3.24 ,macbook air2017电脑
如何解决make hash php错误问题?
php7.3安装扩展Molten 遇到make编译 HASH_FLAG_PERSISTENT 报错问题 - 木木船长
下载molten包 https://github.com/chuan-yun/Molten 并解压目录并进入目录
cd /Applications/MAMP/bin/php/php7.3.24/include/php/ext/Molten-master
执行phpize 以下phpize的执行路径根据自己环境默认php版本的路径来,我用的7.3 (记得要切换至swoole扩展目录下执行)
sudo /Applications/MAMP/bin/php/php7.3.24/bin/phpize
执行 ./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,后保存文件。
继续执行make && make install ,成功后 配置php.ini,添加以下 (注意路径)
extension="/Applications/MAMP/bin/php/php7.3.24/lib/php/extensions/no-debug-non-zts-20180731/molten.so"