代码之家  ›  专栏  ›  技术社区  ›  gempir

V8JS时区测试失败

  •  2
  • gempir  · 技术社区  · 7 年前

    我试图安装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行是预期输出。如你所见,一切都是格林尼治标准时间+0200,这是错误的,只有2应该是+0200

    我已经检查了php.ini并删除了所有时区设置,但这一点都没有帮助。同样的问题。

    有人碰到过类似的东西吗?还是有人有主意? 我试过按原样使用V8JS,但它崩溃了。

    1 回复  |  直到 7 年前
        1
  •  0
  •   gempir    7 年前

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