正确设置Windows 7上仅适用于PHP 5.4.35二进制文件的date.timezone安装

正确设置Windows 7上仅适用于PHP 5.4.35二进制文件的date.timezone安装,php,phpunit,Php,Phpunit,我正在用PHPUnit在NetBeans中为一系列PHP类编写单元测试 这些类依赖于我不想模仿的nusoap脚本 当我运行依赖于nusoap作为依赖项的测试时,我得到了一个看似常见的结论:在nusoap脚本中,依赖系统的时区错误来实现此方法是不安全的: function getmicrotime() { if (function_exists('gettimeofday')) { $tod = gettimeofday(); $se

我正在用PHPUnit在NetBeans中为一系列PHP类编写单元测试

这些类依赖于我不想模仿的nusoap脚本

当我运行依赖于nusoap作为依赖项的测试时,我得到了一个看似常见的结论:在nusoap脚本中,依赖系统的时区错误来实现此方法是不安全的:

function getmicrotime() {
        if (function_exists('gettimeofday')) {
            $tod = gettimeofday();
            $sec = $tod['sec'];
            $usec = $tod['usec'];
        } else {
            $sec = time();
            $usec = 0;
        }
        return strftime('%Y-%m-%d %H:%M:%S', $sec) . '.' . sprintf('%06d', $usec);
    }
因此,我进入了我的php.ini文件并添加了:

[Date]  
; Defines the default timezone used by the date functions ; 
; http://php.net/date.timezone 
date.timezone = "America/New_York"
我只使用PHP二进制文件。据我所知,没有web实例,所以只有1个ini文件需要修改

当我重新运行这些测试时,我立即从PHPUnit得到错误,并且没有测试运行。如果我删除对ini文件的编辑,我的测试将正常运行。通常定义为测试返回带有相同时区错误的故障

web上的许多其他答案建议在两个位置编辑ini文件,一个用于web,另一个用于CLI。但是,由于我只有1个ini文件,我不确定还需要修改什么才能正确识别时区

在一台安装了PHP5.4.35二进制文件的Windows7机器上,完全没有IIS,我该如何使它工作?我还尝试添加日期、默认时区和设置“美国/纽约”;对nusoap脚本来说,这似乎没有任何效果


谢谢。

这是一条红鲱鱼,也很难找到

我回到了基础知识,在PHP.INI文件中翻找,发现我使用的是test/prod版本,所以我决定尝试开发版本

在NetBeans和CLI中运行测试,我现在能够看到真正的根本原因,这与我正在测试的类有关。除非在PHP.INI中配置,否则根本不会向用户显示任何信息