【发布时间】:2013-02-07 15:10:42
【问题描述】:
这里将不胜感激。
我正在运行 Ubuntu 10.04,我想在 PHP 中使用 V8 Javacript engine。有没有人设法做到这一点?
所以我从软件中心安装了libv8-2.0.3、libv8-dbg、libv8-dev。然后我尝试了:
sudo pecl install v8js-0.1.2。这失败了,因为(我认为)这个:
/tmp/pear/temp/v8js/v8js.cc:220: error: no matching function for call to ‘v8::Array::Get(unsigned int&)’
和
/tmp/pear/temp/v8js/v8js.cc:438: error: ‘ContextDisposedNotification’ is not a member of ‘v8::V8’
我猜是因为libv8的打包版本太旧了?
我检查了 SVN 源 (svn co @987654322@ v8) 并使用 scons 构建它,虽然它看起来成功完成 (ranlib libv8.a; scons: done building targets.),但我不知道如何处理已生成的内容(和构建了哪些文件 - 似乎只在 obj/release/ 中构建了 .o 文件。
我对自己需要做什么感到困惑和困惑。请帮忙!
【问题讨论】:
-
你绝对不应该使用trunk,而是尝试旧版本的v8-dev,也许是v8js pecl绑定。后者给了我一个依赖错误(ubuntu 捆绑 5.3.2,但 v8js 需要 5.3.3 - 不确定这是否是一个合理的要求)。
-
谢谢@mario,我确实是从将 PHP 升级到 5.3.5 开始的。 v8js pecl 绑定是否与我尝试使用的不同:sudo pecl install v8js-0.1.2。我可以尝试一个旧版本,但是仍然有一个问题,一旦 scons 构建了 libv8,我该如何安装它,以便我可以安装 v8js pecl 扩展?
-
@马克。我现在也试过了,失败了。我使用了 v8 svn
branch/2.5,构建正常。然后在 v8js pecl 目录下使用phpize。编译成功,但链接没有。不知道如何处理relocation R_X86_64_32S against 'vtable for v8::ScriptData' can not be used when making a shared object; recompile with -fPIC。也许试试 v8-svn 3.0 分支? -
你是怎么搭建v8 svn分支的,你用过scons吗?我不确定构建它的最佳方法是什么,因为我对 build/README.txt 中所述的方法有问题,尽管那是主干版本。我现在正在尝试使用 3.0 分支...
-
我在 debian 中安装了:aptitude install php5-dev php-pear; pecl 安装 v8js-0.1.2
标签: php javascript ubuntu v8