首页 > 解决方案 > V8JS 时区测试失败

问题描述

我正在尝试安装 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 行是 ACTUAL 输出。我添加了一个 var_dump(getenv('TZ')); 以确保时区正在更改。最后 3 行是预期的输出。如您所见,一切都是 GMT+0200,这是错误的,只有 2 应该是 +0200

我检查了我的 php.ini 并删除了任何时区设置,可悲的是,这根本没有帮助。同样的问题。

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

标签: javascriptphpv8v8js

解决方案


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


推荐阅读