安装 V8 旧版本(v8@11)
由于 Homebrew 默认提供的是最新版本的 V8,并没有提供历史版本,所以需要手动安装旧版本(v8@11)。
-
-
首先找到旧版.rb文件
- 访问GitHub:https://github.com/Homebrew/homebrew-core,搜索v8,找到Formula/v/v8.rb,点击进去。
- 查看历史版本: 点击 历史记录(
History
)查看历史版本。可以看到每个版本的提交记录,找到需要的版本v8: update 11.7.439.16 bottle。点击右侧”View code…”按钮,进入相应页面,地址:https://github.com/Homebrew/homebrew-core/blob/95633752a9ef504d8bec644794d418b8a816ebcf/Formula/v/v8.rb。
-
点击下载按钮,下载.rb文件
-
手动安装历史版本
brew install ~/Downloads/v8.rb
-
添加PATH
sudo vim ~/.zshrc 在适当地方输入:export PATH="$(brew --prefix v8)/bin:$PATH" source ~/.zshrc
-
创建符号链接
ln -s $(brew --prefix v8)/bin/d8 $(brew --prefix v8)/bin/v8
-
输入命令v8或d8查看,可以看到v8版本信息,使用quit()退出
v8 v8 > quit()
-
安装php v8js扩展
-
-
-
从github下载并编译安装
# 克隆并切换到 php7 分支 git clone https://github.com/phpv8/v8js cd v8js git checkout -b php7 origin/php7 # 配置并编译 phpize ./configure \ LDFLAGS="-lstdc++" \ CPPFLAGS="-DV8_COMPRESS_POINTERS -DV8_ENABLE_SANDBOX" \ --with-php-config="$(which php-config)" \ --with-v8js="$(brew --prefix v8)/libexec" make make test make install
-
修改php.ini,添加v8js扩展
extension="v8js.so"
-
重启php
brew services restart php@7.4
-
验证安装
php -m | grep v8js
-
编写测试程序
<?php // 检查是否加载了 v8js 扩展 if (!extension_loaded('v8js')) { echo "v8js 扩展没有安装或启用。\n"; exit(1); } // 创建 V8js 实例 $v8 = new V8Js(); // 测试简单的 JavaScript 代码 $js_code = 'var message = "Hello from V8JS!"; message;'; try { $result = $v8->executeString($js_code); echo "JavaScript 结果: " . $result . "\n"; } catch (V8JsException $e) { echo "执行 JavaScript 代码时发生错误: " . $e->getMessage() . "\n"; }
- 测试程序
php test_v8js.php
如果一切正常,将输出:
JavaScript 结果: Hello from V8JS!
-
-
本文由@大鱼原创发布于今日指点,转载请附带链接。