【发布时间】:2015-12-12 11:16:21
【问题描述】:
我正在学习 ZF2 并尝试使用 ZF2 建立一个宁静的 Web 服务架构。我在创建日志文件时遇到问题。
这是我的模块配置:
'service_manager' => array(
'factories' => array(
'loggingService' => function(\Zend\ServiceManager\ServiceManager $serviceManager) {
$logger = new \Zend\Log\Logger();
$writer = new \Zend\Log\Writer\Stream('/home/mani/logs/forum.log');
$logger->addWriter($writer);
return $logger;
}
)
)
在这里,我创建了一个记录器作为服务,并尝试使用控制器中的构造函数注入 logginService。
public function createService(ServiceLocatorInterface $serviceLocator) {
$coreServiceLocator = $serviceLocator->getServiceLocator();
$loggingService = $coreServiceLocator->get('loggingService');
return new QuestionController($loggingService);
}
我认为它会起作用,但 ZF2 无法创建显示此消息的日志文件:
fopen(/home/mani/logs/forum.log): failed to open stream: No such file or directory
所以我的困惑是 ZF2 可以创建日志文件还是我们必须手动创建它?
【问题讨论】:
-
您的 /home/mani/logs/ 目录是否存在并可被 http 用户写入?
-
是的,我也尝试过创建目录,但我无法理解 http 用户的意思。我正在使用 mani 帐户在本地电脑上开发应用程序,我应该有权在 /home/mani 下创建任何目录或文件。
标签: php zend-framework2 zend-log