本文整理自大神 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. 全排列函数(next_permutation)

    顾名思义,这个函数就是用来求数组的全排列的,至于怎么用,看下面的介绍: 这是一个c++函数,包含在头文件algorithm里面,这个函数可以从当前的数组的大小按照字典序逐个递增的顺序排列 看下面的模板 ...

  2. HDU 5792 L - World is Exploding 。容斥原理 + 树状数组 + 离散化

    题目,要求找出有多少对这样的东西,四个数,并且满足num[a]<num[b] &&num[c]>num[d] 要做这题,首先要懂得用树状数组,我设,下面的小于和大于都是严格 ...

  3. UiAutomator新建工程

    新建工程步骤: 1.打开Eclipse 2.新建一个java工程UiAutomatorDemo1,然后新建一个包com.hhb 3.选中java工程,右击新建文件夹,命名为libs,在D:\Andro ...

  4. Python lambda(匿名函数)介绍【转】

    引用: http://www.cnblogs.com/evening/archive/2012/03/29/2423554.html 在学习python的过程中,lambda的语法时常会使人感到困惑, ...

  5. java与模式读后总结

    一 老规则边看边写书上的代码,磨磨蹭蹭三个多星期终于把一本1000+的java与模式看完了. 于是,在这里贴上自己对每个模式的思考和总结,其实这个东西在我边看边写的时候已经写了一大半,博文再写一次算是 ...

  6. 洛谷P1397 [NOI2013]矩阵游戏(十进制矩阵快速幂)

    题意 题目链接 Sol 感觉做这题只要对矩阵乘法理解的稍微一点就能做出来对于每一行构造一个矩阵A = a 1      0 b列与列之间的矩阵为B = c 1      0 d最终答案为$A^{n - ...

  7. mysq表的三种关系,数据的增删改以及单表多表查询

    一丶三种关系 分析步骤: #.先站在左表的角度去找 是否左表的多条记录可以对应右表的一条记录,如果是,则证明左表的一个字段foreign key 右表一个字段(通常是id) #.再站在右表的角度去找 ...

  8. JavaScript常用数组操作方法

    数组是用于储存多个相同类型数据的集合,平时在数据的处理中用到最多,JavaScript 中常用的操作方法 1.concat()concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅 ...

  9. 域名带与不带www的区别

    首先我们来说下为什么会产生带www与不带www的两种域名. 不带www的域名为顶级域名或一级域名,如qiankoo.com.带www的为二级域名,如www.qiankoo.com. 在购买域名时,域名 ...

  10. 使用Docx.dll插入图片在Centos 7 上报错:system.DllNotFound:libgdiplus.so

    熬了N天,终于把WORD 文档打开替换.插入图片完好,部署,本机测试没有问题 可是一放到服务器(Centos 7) 就提示下面的错误: 度娘一下: https://www.cnblogs.com/xi ...