2011-03-20 52 views
0

我有两个使用Symfony框架开发的网站。一个使用SF 1.3.8,另一个使用SF 1.4.8Symfony项目不是生成php错误文件

运行v 1.3.8的项目将PHP相关错误记录在php_errors.log文件中,而使用v 1.4.8的项目不会创建任何此类文件。

我检查了两个项目的proj/apps/frontend/config/settings.yml,我似乎无法发现任何差异。

他们都已经(在应用程序/前端/配置/ settings.yml中):

dev: 

    .settings: 

    error_reporting:  <?php echo (E_ALL | E_STRICT)."\n" ?> 



test: 

    .settings: 

    error_reporting:  <?php echo ((E_ALL | E_STRICT)^E_NOTICE)."\n" ?> 

有谁知道这是为什么发生?

+1

你在logging.yml中配置了哪些日志记录设置?错误报告!=日志记录 – richsage 2011-03-20 12:45:01

+0

@richsage:factories.yml文件之间没有区别(此外,我没有引用正在生成的应用程序日志)。我认为它的apache而不是Symfony是创建php错误文件。我将不得不进一步调查。 – oompahloompah 2011-03-20 13:36:27

+0

对不起 - 误读。是的,这听起来像一个PHP/Apache的问题。检查您的php.ini文件以查看文件日志记录是否已关闭... – richsage 2011-03-20 15:48:35

回答

0

从你与richsage的对话中,你可能已经破解了它。以下是我的想法:

如果它在一个项目中工作,但不在另一个项目中,前者的虚拟主机文件很可能包含CustomLog directive。这可以在像这样每一个虚拟主机设置:

CustomLog [PATH_TO_LOG] "%h %l %u %t \"%r\" %>s %b" 

(标准格式见here更多选项)

1

你检查你的引导程序? (index.php

应该是这样的:

$configuration = ProjectConfiguration::getApplicationConfiguration('backend', 'dev', true); 

最后一个参数是调试 - 标志

我不知道这是否会影响日志写入,但我可以想象它不会伤害尝试。