本文整理自大神 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. <linux下内置命令和外部命令>

    Linux下内置命令和外部命令 1.linux的命令可以分为内部命令和外部命令: 内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高. 而外部命令是系统的软件功能,用户需要时才从硬盘中读入内 ...

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

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

  3. 关于Mdi窗口-父窗口上的控件把子窗口的挡住的问题

    using System.Runtime.InteropServices; [DllImport("user32")] public static extern int SetPa ...

  4. 7天学完Java基础之2/7

    面向对象 面向对象的思想就是值我们要实现一个共功能的时候,我们不自己去做,而是找别人帮我们去做,帮我们去做的这个人就是对象.面向对象强调的是谁来帮我实现这个功能. 类与对象的关系 类:是一组相关属性和 ...

  5. JSP注释格式

    一.JSP注释格式来源 JSP是Sun Microsystems公司制定的一种服务器端动态网页技术的组件规范,其主体由HTML.CSS.JavaScript和Java拼凑组成. 正是因为JSP是一种组 ...

  6. ubuntu14.04安装gradle

    一.下载gradle $ wget https:////services.gradle.org/distributions/gradle-3.5.1-all.zip $ sudo unzip grad ...

  7. JS实现正则表达式

    一.创建正则表达式 一共有两种方式: 1.直接量:var re = /[0-9]*/; 2.通过RegExp对象的构造函数:var re = RegExp("[0-9]*",&qu ...

  8. NopCommerce 3.80框架研究(二) MVC 表示层与数据验证

    表示层框架结构 /Views/Shared/_Root.Head.cshtml /Views/Shared/_Root.cshtml /Views/Shared/_ColumnsOne.cshtml ...

  9. pta 编程题20 旅游规划

    其它pta数据结构编程题请参见:pta 题目 这个最短路径问题只需要求两点之间的最短路径,因而在Dijikstra算法中当求出目标点的最短路径之后跳出循环即可. #include <iostre ...

  10. JIRA Plugin Development——Configurable Custom Field Plugin

    关于JIRA Plugin开发的中文资料相当少,这可能还是由于JIRA Plugin开发在国内比较小众的原因吧,下面介绍下自己的一个JIRA Plugin开发的详细过程. 业务需求 创建JIRA IS ...