V8JS 时区测试失败

V8JS Timezone Test Fails

我正在尝试安装 V8JS,但时区测试失败。这个测试: https://github.com/phpv8/v8js/blob/php7/tests/timezones.phpt

我遵循了这些说明https://github.com/phpv8/v8js/blob/php7/README.Linux.md

测试的问题是打印的日期错误:

================================================================================
001+ string(15) "Europe/Helsinki"
002+ Thu Mar 20 2014 11:03:24 GMT+0200 (Eastern European Standard Time)
003+ string(16) "America/New_York"
004+ Thu Mar 20 2014 11:03:24 GMT+0200 (Eastern European Standard Time)
005+ string(15) "Europe/Helsinki"
006+ Thu Mar 20 2014 11:03:24 GMT+0200 (Eastern European Standard Time)
001- Thu Mar 20 2014 11:03:24 GMT+0200 (EET)
002- Thu Mar 20 2014 05:03:24 GMT-0400 (EDT)
003- Thu Mar 20 2014 11:03:24 GMT+0200 (EET)
================================================================================

上面6行是实际输出。我添加了一个 var_dump(getenv('TZ'));确保时区正在改变。最后 3 行是预期的输出。如您所见,一切都是 GMT+0200,这是错误的,只有 2 个应该是 +0200

我已经检查了我的 php.ini 并删除了所有时区设置,遗憾的是这根本没有帮助。同样的问题。

有没有人运行遇到过类似的事情?或者有人有想法吗? 我试过按原样使用 V8JS,但它崩溃了。

我编译了 V8 (6.5.143) 的第三个版本,这解决了这个问题。不知道为什么,但至少现在测试有效。