【发布时间】:2015-01-25 15:09:54
【问题描述】:
我正在运行 PHPunit 来测试我的 ZF2 应用程序。我在我的 Windows 机器(在 xampp 下)上尝试了它,它运行良好。但是,当我将其移至虚拟 Ubuntu 14.10 服务器时,每次测试都会出现以下错误:
Undefined variable: services
我去/etc/php5/cli/php.ini,设置报错如下:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE
测试指向的代码来自我的 Module.php 文件之一
public function onBootstrap(MvcEvent $event)
{
$sharedEventManager = $event->getApplication()
->getEventManager()
->getSharedManager();
$sharedEventManager->attach('user', 'log-fail', function($event) use ($services) {
$username = $event->getParam('username');
$log = $services->get('log');
$log->warn("Error logging user [$username]");
});
}
它专门抱怨$sharedEventManager->attach('user', 'log-fail', function($event) use ($services) 这一行。就像我说的,我尝试编辑 php.ini 文件来抑制这样的警告,但它不起作用。我还缺少什么吗?
【问题讨论】:
-
在
virtual Ubuntu 14.10 server上检查您的 PHP 版本。 -
您显示的代码中未定义变量 $services。
-
我正在运行 php 5.5.12
-
你在 Windows 机器上的 PHP 版本是什么。
-
问题应该是:为什么这个测试在 Windows 上没有失败?
标签: php error-handling zend-framework2 phpunit