How to install V8js on PHP5.5?
Asked Answered
M

3

12

I want to install the v8js extension for PHP5.5 on Ubuntu 12.04 but can't make it working.

When I try to install the v8js extension version 0.2.0 (latest) with PECL, I have this message:

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

If I try to install an old version, I have a compilation error. This message is very similar to my issue: Install v8js for php on ubuntu

How can I fix this issue?

EDIT: I couldn't install it on Ubuntu 14.04 with PHP5.5, even with a PHP downgrade with PHPbrew to PHP 5.4. However, using Ubuntu 12.04 with PHP 5.4 works great. I didn't try the downgrade from PHP 5.5 to 5.4 on Ubuntu 12.04.

Marciamarciano answered 24/3, 2015 at 9:35 Comment(0)
S
4

in case you can't find libv8-dev or libv8-dbg, you can find the correct version by run command

~$ 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

then you can run

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

then you can try to install v8js via pecl by running

~$ sudo pecl install v8js-0.2.0

if that command return error like this

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

you can try to install v8js-0.1.3 instead by running

~$ sudo pecl install v8js-0.1.3

then edit your php.ini to add v8js extension

~$ echo "extension=v8js.so" >> /etc/php5/cli/php.ini
Spermogonium answered 12/12, 2015 at 12:42 Comment(2)
Better instructions than the official documentation. Finally installed, cheers. And thanks for covering the errors that encountered from following NETCreator's answer.Stooge
i flow the same way installation was success but when i created index.php file with $v8 = new V8Js(); i got got Fatal error: Class 'V8Js' not found . my v8js.so is located at /usr/lib/201212/v8js.so and my init is located at /etc/php5/cli/php.ini can some one guide me on this ???Acceptant
S
2
  1. Open your terminal/console

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

  3. Make an update sudo apt-get update

  4. Try sudo pecl install v8js-0.2.0 (or other version i.e.: sudo pecl install v8js-0.1.3)

  5. Edit your php.ini (Check: Where is my php.ini file?) file by adding: extension=v8js.so.

  6. Restart server

If it the extension still doesn't work, try to edit /etc/php5/conf.d/v8js.ini and add extension=v8js.so and restart server again.

Hope this helps.

Sharynshashlik answered 18/6, 2015 at 14:7 Comment(0)
M
0

These other answers work well and I used v8js-0.1.3 for the past 1.5 years but after needing to upgrade to PHP 7 I needed a better solution as v0.1.3 doesn't compile with PHP 7 (something to do with php_smart_str being renamed to php_smart_string).

After a couple hours of frustrating research and compiling libv8 myself, I didn't want to have to go through this whole process on every server I provisioned.

Anyway, I found this site which points you to a launchpad PPA site that provides a couple different ubuntu packages with the 5.1 and 5.2 libv8 libraries.

I ran these commands (please don't add repositories of 3rd party devs without understanding the risks).

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

(Thanks @JeyKeu for suggesting to add "apt-get update" to these commands)

I couldn't get v8js-1.3.0 or 1.2.0 to build, but 1.1.0 worked well. I checked the changelog and found that the latest updates are not necessary in my circumstance anyway.

Mccarty answered 24/6, 2016 at 21:22 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.