如何在 PHP5.5 上安装 V8js?
Posted
技术标签:
【中文标题】如何在 PHP5.5 上安装 V8js?【英文标题】:How to install V8js on PHP5.5? 【发布时间】: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。
【问题讨论】:
【参考方案1】:如果找不到libv8-dev
或libv8-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】:打开您的终端/控制台
sudo apt-get install libv8-dev libv8-dbg g++ cpp
更新sudo apt-get update
试试sudo pecl install v8js-0.2.0
(或其他版本,例如:sudo pecl install v8js-0.1.3
)
编辑您的php.ini
(检查:Where is my php.ini file?)文件,添加:extension=v8js.so
。
重启服务器
如果扩展仍然不起作用,请尝试编辑/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 运行良好。我检查了更新日志,发现在我的情况下无论如何都不需要最新的更新。
【讨论】:
以上是关于如何在 PHP5.5 上安装 V8js?的主要内容,如果未能解决你的问题,请参考以下文章