phpv8 / v8js

V8 Javascript Engine for PHP — This PHP extension embeds the Google V8 Javascript Engine
http://pecl.php.net/package/v8js
MIT License
1.83k stars 200 forks source link

README should indicate which version of v8 is required #40

Closed omarkilani closed 10 years ago

omarkilani commented 10 years ago

It would be great if the README stated which version of v8 was known working by the developers. I was trying with v8 3.22.5 with a bunch of errors.

satoshi75nakamoto commented 10 years ago

Well currently it says 3.17.11 or above. @omarkilani — thanks for pointing this out.

— Patrick

omarkilani commented 10 years ago

Hey Patrick,

Thanks for the quick response. :) I'm trying to get v8js 0.1.5 going with v8 3.17.11 now, but still run into the following:

/home/build/src/v8js-0.1.5/v8js.cc: In function 'HashTable* php_v8js_v8_getproperties(zval)': /home/build/src/v8js-0.1.5/v8js.cc:228:69: error: no matching function for call to 'v8::Context::New(v8::Isolate_&)' /home/build/src/v8js-0.1.5/v8js.cc:228:69: note: candidate is: In file included from /home/build/src/v8js-0.1.5/php_v8jsmacros.h:24:0, from /home/build/src/v8js-0.1.5/v8js.cc:22: /usr/include/v8.h:3872:30: note: static v8::Persistentv8::Context v8::Context::New(v8::ExtensionConfiguration, v8::Handlev8::ObjectTemplate, v8::Handlev8::Value) /usr/include/v8.h:3872:30: note: no known conversion for argument 1 from 'v8::Isolate_' to 'v8::ExtensionConfiguration*'

I'm building this on Illumos, so I'm not sure if I've screwed something up, or gcc 4.7.2 doesn't like the source for some reason.

omarkilani commented 10 years ago

FWIW, the version of Context::New which takes an Isolate as the first param was in this commit:

https://code.google.com/p/v8/source/detail?r=14304&path=/trunk/include/v8.h

Which is tagged 3.18.0.

stesie commented 10 years ago

intermediate result (still testing)

3.17.11 does not work anymore (v8::Context::New as pointed out by @omarkilani) 3.18.0 does not work as well (due to use of v8::InvocationCallback, introduced ~3.19.2) 3.21.8 works (with -DV8_USE_UNSAFE_HANDLES=1, my dev setup) 3.22.6 does not work (yet)

stesie commented 10 years ago

3.20.0 works 3.19.12 works 3.19.6 fails (due to v8::Persistent::MakeWeak) 3.19.8 works 3.19.7 works

stesie commented 10 years ago

3.21.11 is the last version currently working

With 3.21.12 they removed the V8_USE_UNSAFE_HANDLES stuff, breaking V8Js for the moment

satoshi75nakamoto commented 10 years ago

The README is now fixed. I'm closing this issue.