当前位置: 首页 > 工具软件 > v8js > 使用案例 >

PHP扩展安装与使用系列教程(27) --- v8js - php解析js代码

安毅
2023-12-01

v8js - php解析js代码

假设 可自定义

  1. php 安装目录: /root/php/bin/php74
  2. php 超链接目录路径 : /usr/bin
  3. 源码目录 : /root/php/packages
  4. php.ini 路径 : /root/php/bin/php74/lib/php.ini >> PHP源码编译

进入源码目录

cd /root/php/packages

安装依赖 google-v8-8.4.371.23 glibc2.18 python3 gcc4.8.5 ninja

fetch v8  && cd v8  &&  git checkout 8.0.426.30  && gclient sync
tools/dev/v8gen.py -vv x64.release -- is_component_build=true use_custom_libcxx=false
ninja -C out.gn/x64.release/

安装 php-v8js 扩展 GLIBCXX > 3.4.21

strings /lib64/libstdc++.so.6 | grep GLIBC
wget https://pecl.php.net/get/v8js-2.1.2.tgz
tar xzf v8js-2.1.2.tgz && cd v8js-2.1.2
phpize && ./configure --with-v8js=/opt/v8 LDFLAGS="-lstdc++" CPPFLAGS="-DV8_COMPRESS_POINTERS“
make && make install

修改 php.ini

echo -e "[v8js]\nextension = v8js.so" >> /root/php/bin/php74/lib/php.ini

安装测试

php -i | grep v8js
pkill php-fpm | php-fpm -R
  • 打开浏览器访问 : http://192.168.174.128 >> 查看 v8js 是否加载好

v8js 相关函数

  • V8的基本使用 V8Js::executeString、V8Js::registerExtension()、 V8Js::registerExtension()

BASH汇总

cd /root/php/packages
fetch v8  && cd v8  &&  git checkout 8.0.426.30  && gclient sync
tools/dev/v8gen.py -vv x64.release -- is_component_build=true use_custom_libcxx=false
ninja -C out.gn/x64.release/
ln -s /usr/local/lib64/libstdc++.so.6 /lib64/libstdc++.so.6
strings /lib64/libstdc++.so.6 | grep GLIBC
cd /root/php/packages
wget https://pecl.php.net/get/v8js-2.1.2.tgz
tar xzf v8js-2.1.2.tgz && cd v8js-2.1.2
phpize && ./configure --with-v8js=/opt/v8 LDFLAGS="-lstdc++" CPPFLAGS="-DV8_COMPRESS_POINTERS"
make && make install
echo -e "[v8js]\nextension = v8js.so" >> /root/php/bin/php74/lib/php.ini
php -i | grep v8js
pkill php-fpm | php-fpm -R

PHP 测试代码下载 H

  • V8与php变量与类的交互
  • V8执行js脚本文件 : 测试在php/js中对 md5 和 sha1 加密
    此测试代码具有特殊性,结果仅作参考
需个人测试的请联系博主,索要基础性能测试代码

PHP测试源码

PHP扩展安装与使用系列课程php测试源码.zip

视频学习地址

PHP扩展安装与使用 — 赋予PHP更强大的魅力

上一节:apcu - 用户数据缓存插件
下一节:gmp,bcmath,trader - 数学运算函数

 类似资料: