【问题标题】:How to install V8js on PHP5.5?如何在 PHP5.5 上安装 V8js?
【发布时间】:2015-05-27 13:24:28
【问题描述】:

我想在 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。

【问题讨论】:

    标签: php ubuntu v8 libv8


    【解决方案1】:

    如果找不到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
    

    【讨论】:

    • 比官方文档更好的说明。终于安装好了,加油。并感谢您涵盖从 NETCreator 的回答中遇到的错误。
    • 我的流程与安装成功的方式相同,但是当我使用 $v8 = new V8Js(); 创建 index.php 文件时我得到了致命错误:找不到类'V8Js'。我的 v8js.so 位于 /usr/lib/201212/v8js.so 并且我的 init 位于 /etc/php5/cli/php.ini 有人可以指导我吗???
    【解决方案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(检查:Where is my php.ini file?)文件,添加:extension=v8js.so

    6. 重启服务器

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

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      这些其他答案运行良好,过去 1.5 年我使用 v8js-0.1.3,但在需要升级到 PHP 7 后,我需要一个更好的解决方案,因为 v0.1.3 不能与 PHP 7 一起编译(与php_smart_str 被重命名为 php_smart_string)。

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

      不管怎样,我找到了this site,它指向了一个launchpad PPA site,它提供了几个不同的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 运行良好。我检查了更新日志,发现在我的情况下无论如何都不需要最新的更新。

      【讨论】:

        猜你喜欢
        • 2018-02-16
        • 1970-01-01
        • 2019-04-03
        • 2017-10-10
        • 1970-01-01
        • 2018-06-20
        • 1970-01-01
        • 2019-03-03
        • 2021-12-29
        相关资源
        最近更新 更多