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.

3 Answers 3

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 
Sign up to request clarification or add additional context in comments.

2 Comments

Better instructions than the official documentation. Finally installed, cheers. And thanks for covering the errors that encountered from following NETCreator's answer.
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 ???
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.

Comments

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.