本文整理自大神 Corz

1、php56

 /datas/soft/php56/bin/php -v
PHP 5.6. (cli)
#https://blog.csdn.net/lzm198707/article/details/70623421?utm_source=blogxgwz3
yum install re2c
yum install v8-devel
cd /datas/src/
wget http://pecl.php.net/get/v8js-0.1.3.tgz
tar -xzf v8js-0.1..tgz
cd v8js-0.1.
vim v8js.cc
新增 #define PHP_V8_VERSION "0.1.3"
/datas/soft/php56/bin/phpize
./configure --with-php-config=/datas/soft/php56/bin/php-config --with-v8js
make
make install
ll /datas/soft/php56/lib/php/extensions/no-debug-non-zts-/
vim /datas/soft/php56/etc/php.ini
新增 extension = "v8js.so"
/datas/soft/php56/bin/php --ri v8js

2、php72

 /datas/soft/php72/bin/php -v
PHP 7.2. (cli) #升python 2.7 #升git + #装gcc 4.8. #升级glibc 2.18
#https://blog.csdn.net/tty521/article/details/80939607
wget http://cbs.centos.org/kojifiles/packages/glibc/2.22.90/21.el7/x86_64/glibc-2.22.90-21.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/glibc/2.22.90/21.el7/x86_64/glibc-common-2.22.90-21.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/glibc/2.22.90/21.el7/x86_64/glibc-devel-2.22.90-21.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/glibc/2.22.90/21.el7/x86_64/glibc-headers-2.22.90-21.el7.x86_64.rpm
rpm -Uvh glibc-2.22.-.el7.x86_64.rpm \
glibc-common-2.22.-.el7.x86_64.rpm \
glibc-devel-2.22.-.el7.x86_64.rpm \
glibc-headers-2.22.-.el7.x86_64.rpm \
--force --nodeps
strings /lib64/libc.so. |grep GLIBC_ #升级GLIBCXX
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-8/libstdc++6_8.2.0-14_amd64.deb
ar -x libstdc++6_8.2.0-14_amd64.deb
yum install -y xz
tar -xvf data.tar.xz
mv /usr/lib64/libstdc++.so. /usr/lib64/libstdc++.so..bak
cp usr/lib/x86_64-linux-gnu/libstdc++.so.6.0. /usr/lib64/
ln -s /usr/lib64/libstdc++.so.6.0. /usr/lib64/libstdc++.so.
strings /usr/lib64/libstdc++.so. | grep GLIBCXX #编译v8、v8js(能翻墙跑就不会出错:https://github.com/phpv8/v8js/blob/php7/README.Linux.md)
#做了两个包,可以直接解压使用(https://pan.baidu.com/s/16CAFctj94fpeYIR9IZT_cQ)
ll v8.tar.gz
tar vkzxf v8.tar.gz -C /
ll phpext_v8js.tar.gz
tar vkzxf phpext_v8js.tar.gz -C /
vim /datas/soft/php72/etc/php.ini
/datas/soft/php72/bin/php --ri v8js

3、test

 <?php
$v8 = new V8Js();
$v8->myname = 'test';
$JS = <<< EOT
func = function(name) {
return 'name is ' + name;
};
func(PHP.myname);
EOT;
$res = $v8->executeString($JS);
var_dump($res);
 [root@localhost ~]# /datas/soft/php56/bin/php .php
string() "name is test"
[root@localhost ~]# /datas/soft/php72/bin/php .php
string() "name is test"

4、后续修正

 [root@localhost ~]# ldd /bin/ls
-bash: /usr/bin/ldd: /usr/bin/bash: bad interpreter: No such file or directory
[root@localhost ~]# ll /usr/bin/bash
ls: cannot access /usr/bin/bash: No such file or directory
[root@localhost ~]# which bash
/bin/bash
[root@localhost ~]# ln -s /bin/bash /usr/bin/bash
[root@localhost ~]# ldd /bin/ls
linux-vdso.so. (0x00007fff30325000)
libselinux.so. => /lib64/libselinux.so. (0x00007f3e8a688000)
librt.so. => /lib64/librt.so. (0x00007f3e8a480000)
libcap.so. => /lib64/libcap.so. (0x00007f3e8a27b000)
libacl.so. => /lib64/libacl.so. (0x00007f3e8a073000)
libc.so. => /lib64/libc.so. (0x00007f3e89cb7000)
libdl.so. => /lib64/libdl.so. (0x00007f3e89ab2000)
/lib64/ld-linux-x86-.so. (0x00007f3e8a8b1000)
libpthread.so. => /lib64/libpthread.so. (0x00007f3e89895000)
libattr.so. => /lib64/libattr.so. (0x00007f3e89690000)

php v8js的更多相关文章

  1. 我们为什么要使用NodeJS

    科普文一则,说说我对NodeJS(一种服务端JavaScript实现)的一些认识,以及我为什么会向后端工程师推荐NodeJS. "Node.js 是服务器端的 JavaScript 运行环境 ...

  2. aop注解

    注解 xml的直接配置 <aop:config proxy-target-class="false"> //切入点 <aop:pointcut expressio ...

  3. Chrome 和 Webkit 的渊源

    互联网的浪潮从未停息,而用以网上冲浪的冲浪板也一直在变得愈加精良.自人们进入互联网时代以来,即已经发生了三次浏览器大战.第一次浏览器大战的主角是IE和Netscape,最终IE凭借着Windows的庞 ...

  4. 使用 PHP 来做 Vue.js 的 SSR 服务端渲染

    对于客户端应用来说,服务端渲染是一个热门话题.然而不幸的是,这并不是一件容易的事,尤其是对于不用 Node.js 环境开发的人来说. 我发布了两个库让 PHP 从服务端渲染成为可能.spatie/se ...

  5. 了解 node.js

    原文为: 我们为什么要使用NodeJS 写的好,就收藏于此,供学习之用. 科普文一则,说说我对NodeJS(一种服务端JavaScript实现)的一些认识,以及我为什么会向后端工程师推荐NodeJS. ...

  6. javascript开源大全

    javascript开源大全 Ajax框架-jQuery 可视化HTML编辑器-CKEditor 国产jQuery-UI框架-(jUI)-DWZ 网页开发FireFox插件-Firebug 服务器端的 ...

  7. Android 画个电池出来(Paint和canvas)

    1.Android中很多时候都要自己去画一个自定义控件出来,就需要用到Paint和Canvas这两个类. 2.效果图:

  8. 用trie树实现输入提示功能,输入php函数名,提示php函数

    参照刘汝佳的trie树 结构体 #include "stdio.h" #include "stdlib.h" #include "string.h&q ...

  9. v8环境搭建采坑记录

    项目组有把js接入C++服务求的需求,故开始了v8接入的工作,用了一天多时间,v8才在centos环境上成功安装,过程中踩了很多坑,下面将采坑过程记录如下: centos下编译安装v8:   查看ce ...

随机推荐

  1. (转)centos7.4 fdisk磁盘分区 格式化 挂载

    centos7.4 fdisk磁盘分区 格式化 挂载 原文:http://blog.csdn.net/capecape/article/details/78499351 1.查看系统中有多少可以识别的 ...

  2. 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数

    不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...

  3. 再谈Drupal 7.X的性能优化运行速度问题

    D6升级D7之后,性能着实让人头大,不妨参考下面文章,另外站内搜索DOOOOR里其他优化文章,中西医结合吧.其中CDN和BOOST效果还可以,其他的没试过. 1,服务器 Web服务器建议,推荐使用HA ...

  4. 工作经验(C++篇)

    这篇总结是我正式参加工作后,和同事交流学习得出来的,希望对其他人有帮助,也是自己的脚印 C++编程中,常会使用到类,组长给我们的经验是,一个类写在一个文件中,不要多各类写在一个文件 为了跨平台性,一个 ...

  5. [COGS 347]地震

    时间限制:4 s   内存限制:128 MB 问题描述 某国地形狭长,中部有一列山脉,由于多发地震,山脉在不断变化中.地震发生时,山脉有可能发生如下变化:局部海拔升高或降低,板块运动产生地裂而出现一段 ...

  6. 服务器端控件的"客户端"

    控件的服务端ID和客户端ID 比如一个ID为TextBox1的服务器端控件,在客户端访问该控件的DOM元素时 错误: var txtbox=document.getElementByID(" ...

  7. python协程与异步协程

    在前面几个博客中我们一一对应解决了消费者消费的速度跟不上生产者,浪费我们大量的时间去等待的问题,在这里,针对业务逻辑比较耗时间的问题,我们还有除了多进程之外更优的解决方式,那就是协程和异步协程.在引入 ...

  8. hibernate课程 初探单表映射1-10 JUnit测试

    三大注解: 1 @Test 2 @Before 3 @After 执行顺序213 demo.java package hibernate_001; import org.junit.After; im ...

  9. 关于IE的一些hack

    TIPS:对于完全放弃IE的幸福开发者,以下内容全是废话,建议跳转到 博客园 着页,寻找更优质的文章. 对于前端开发来说IE一直是心里的痛,不管你觉得做的多好的网页,放到它上面总会有一些意想不到的问题 ...

  10. a标签常用跳转

    1.a标签跳转qq <a href="http://wpa.qq.com/msgrd?v=3&uin=123456789&site=qq&menu=yes&qu ...