12

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

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

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

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

我该如何解决这个问题?

编辑:我无法使用 PHP5.5 在 Ubuntu 14.04 上安装它,即使使用 PHPbrew 将 PHP 降级到 PHP 5.4。但是,使用 Ubuntu 12.04 和 PHP 5.4 效果很好。我没有尝试在 Ubuntu 12.04 上从 PHP 5.5 降级到 5.4。

4

3 回答 3

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
于 2015-12-12T12:42:00.513 回答
2
  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. 通过添加以下内容来编辑您的php.ini(检查:我的 php.ini 文件在哪里?)文件:extension=v8js.so.

  6. 重启服务器

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

希望这可以帮助。

于 2015-06-18T14:07:34.090 回答
0

这些其他答案效果很好,我在过去 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 库。

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

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 运行良好。我检查了更新日志,发现在我的情况下无论如何都不需要最新的更新。

于 2016-06-24T21:22:00.877 回答