如何在PHP5.5上安装V8js



我想在Ubuntu 12.04上安装PHP5.5的v8js扩展,但无法正常工作。

当我尝试使用PECL安装v8js扩展版本0.2.0(最新)时,我收到了以下消息:

configure:error:libv8必须是3.24.6或更高版本错误:`/tmp/pear/temp/v8js/configure--with-v8js'失败

如果我尝试安装旧版本,我会出现编译错误。这条消息与我的问题非常相似:在ubuntu 上安装v8js for php

如何解决此问题?

编辑:我无法在带有PHP5.5的Ubuntu 14.04上安装它,即使PHPbrew的PHP降级为PHP 5.4。然而,将Ubuntu 12.04与PHP 5.4一起使用效果非常好。我没有在Ubuntu 12.04上尝试从PHP 5.5降级到5.4。

如果找不到libv8-devlibv8-dbg,可以通过运行命令找到正确的版本

~$ apt-cache search libv8
libv8-3.14-dbg - V8 JavaScript engine - debugging symbols
libv8-3.14-dev - V8 JavaScript engine - development files for 3.14 branch
libv8-3.14.5 - V8 JavaScript engine - runtime library
libv8-dev - V8 JavaScript engine - development files for latest branch

然后你可以运行

~$ sudo apt-get install libv8-3.14-dev libv8-3.14-dbg g++ cpp

然后你可以试着通过运行通过pecl安装v8js

~$ sudo pecl install v8js-0.2.0

如果该命令返回类似的错误

configure: error: libv8 must be version 3.24.6 or greater
ERROR: `/tmp/pear/temp/v8js/configure --with-v8js' failed

您可以尝试通过运行来安装v8js-0.1.3

~$ sudo pecl install v8js-0.1.3

然后编辑您的php.ini以添加v8js扩展

~$ echo "extension=v8js.so" >> /etc/php5/cli/php.ini
  1. 打开您的终端/控制台

  2. sudo apt-get install libv8-dev libv8-dbg g++ cpp

  3. 进行更新sudo apt-get update

  4. 尝试sudo pecl install v8js-0.2.0(或其他版本,即:sudo pecl install v8js-0.1.3

  5. 通过添加:extension=v8js.so来编辑php.ini(检查:我的php.ini文件在哪里?)文件。

  6. 重新启动服务器

如果扩展仍然不起作用,请尝试编辑/etc/php5/conf.d/v8js.ini并添加extension=v8js.so,然后重新启动服务器。

希望这能有所帮助。

这些其他答案都很好,我在过去的1.5年里使用了v8js-0.1.3,但在需要升级到PHP 7之后,我需要一个更好的解决方案,因为v0.1.3没有用PHP 7编译(这与PHP_smart_str被重命名为PHP_smart-string有关)。

经过几个小时令人沮丧的研究和自己编译libv8,我不想在我提供的每台服务器上都经历整个过程。

不管怎样,我找到了这个网站,它为您提供了一个启动板PPA网站,该网站提供了几个不同的ubuntu包和5.1和5.2 libv8库。

我运行了这些命令(请不要在不了解风险的情况下添加第三方开发人员的存储库)。

sudo apt-add-repository ppa:pinepain/libv8-5.2
sudo apt-get update
sudo apt-get install libv8-5.2-dev
sudo pecl install v8js-1.1.0

(感谢@JeyKeu建议在这些命令中添加"apt-get-update")

我无法构建v8js-1.3.0或1.2.0,但1.1.0运行良好。我查看了变更日志,发现在我的情况下根本不需要最新的更新。

最新更新