mac下php安装v8js

PHP version 

PHP 7.2.34 (cli) (built: Nov 30 2020 14:13:42) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.34, Copyright (c) 1999-2018, by Zend Technologies

phpize version

Configuring for:
PHP Api Version:         20170718
Zend Module Api No:      20170718
Zend Extension Api No:   320170718

 

开始安装

(brew 自行安装)

brew install v8

我安装后 v8的版本 8.8.278.15,默认安装的目录为 /usr/local/Cellar/v8/8.8.278.15/

进入目录

cd /usr/local/Cellar/v8/8.8.278.15/libexec  

创建lib

mkdir lib

将对应文件放入到lib下

cp /usr/local/Cellar/v8/8.8.278.15/libexec/* /usr/local/Cellar/v8/8.8.278.15/libexec/lib

这里会报警说目录未成功移动,不用管,只需移动文件即可

此时v8算告一段落

 

安装php v8js扩展

你可以尝试直接使用pecl install v8js 如果报错,不管报什么错,直接放弃使用这种方式吧,使用编译安装

如果遇到其他安装问题可参考(https://github.com/phpv8/v8js/issues/457#issuecomment-736812801

git clone https://github.com/stesie/v8js/tree/fixes-for-libv8-8.7 (注意这里我使用的fix版本,原因是我测试了其他几个正式版本都无法正常configure,都报错libv8**找不到,当然你可以尝试使用正式版本进行构建)

cd fixes-for-libv8-8.7

phpize

./configure CXXFLAGS="-Wno-c++11-narrowing" LDFLAGS="-lstdc++" CPPFLAGS="-DV8_COMPRESS_POINTERS" --with-v8js=/usr/local/Cellar/v8/8.8.278.15/libexec/ --with-php-conf=你的phpconf 文件地址 (这个命令里有一个CPPFLAGS需要注意,我在安装第一次时没有指定他,报了指针跟非指针问题,你可以尝试加上,如果还报错,那就去掉重新编译)

make && make install

将v8js.so 加入到php.ini里

 

问题记录

如果报错 pleace reinstall v8 这种应该是你的v8安装目录libexec目录里没有创建lib目录,也没有挪文件

如果报错 could not determine libv8 version 这种是安装包不兼容问题,可以尝试我使用的安装包

如果报错 could not find libv8_libplat form library 这种也是安装包不兼容问题,可以尝试我使用的安装包

本次安装v8js耗时3天,遇见各种问题,解决各种问题,主要的还是pecl的v8版本与v8本身有不兼容问题,且主要版本也有点问题,所以使用的fix版本,希望有跟我一样问题的人可以有一个参考

 

如果你安装出现其他问题,欢迎留言,我们一起解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值