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.84k stars 200 forks source link

PHP 7.2 compatibility #321

Closed Jan-E closed 7 years ago

Jan-E commented 7 years ago

When I try to compile php_v8js.dll on Windows for PHP 7.2 (alpha 1), I run into the following errors:

N:\php-sdk\php72dev
$ nmake -i php_v8js.dll | grep error

Microsoft (R) Program Maintenance Utility Version 14.10.25019.0
Copyright (C) Microsoft Corporation.  All rights reserved.

ext\v8js\v8js_class.cc(540): error C2065: 'ZEND_ACC_CLONE': undeclared identifier
ext\v8js\v8js_object_export.cc(339): error C2065: 'ZEND_ACC_CLONE': undeclared identifier
ext\v8js\v8js_object_export.cc(542): error C2065: 'ZEND_ACC_CLONE': undeclared identifier
ext\v8js\v8js_class.cc(540): error C2065: 'ZEND_ACC_CLONE': undeclared identifier
ext\v8js\v8js_object_export.cc(339): error C2065: 'ZEND_ACC_CLONE': undeclared identifier
ext\v8js\v8js_object_export.cc(542): error C2065: 'ZEND_ACC_CLONE': undeclared identifier
LINK : fatal error LNK1181: cannot open input file 'N:\php-sdk\php72dev\x64\Release_TS\ext\v8js\v8js_class.obj'
mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file "N:\php-sdk\php72dev\x64\Release_TS\php_v8js.dll". The system cannot find the file specified.

The V8 libs were compiled with VC15 as well.

Jan-E commented 7 years ago

ZEND_ACC_CLONE has been removed by Nikita: https://github.com/php/php-src/commit/b6a4aad82049c680ac5c224f675b5ffd44c642e5

Remove the ZEND_ACC_CLONE flag This one is completely unused

Not quite true, but it is safe to remove it.

Jan-E commented 7 years ago

See https://www.apachelounge.com/viewtopic.php?t=6617 for builds of PHP 7.2.0 alpha1 with php_v8js.dll