Symfony 2和php.yml配置

时间:2015-06-09 08:03:40

标签: php symfony configuration

我一直在寻找在Symfony项目中设置常见PHP选项的最佳位置,并且看到了一些 php.yml 被提及的时间 - 但我发现这主要是在v1.x文档中虽然在v2.x中没有提到它(或者至少我找不到它 - Symfony搜索停顿一段时间也没有帮助)。

php.yml 有很好的' '' '警告' 可以微调配置的区域。

我尝试使用 php.yml 并在app / config中设置一些选项,但它不起作用。

在Symfony 2中放弃了 php.yml ,如果是 - 那么下一个最好的设置PHP选项的方法是什么?

根据要求,这是一个简单的php.yml示例我试过,它非常基本:

## YAML Template.

set:
    display_errors:     on
    error_log:          phperror.log

check:

warn:

编辑:为什么我放弃像Matteo建议的解决方案的其他解释建议

  

当我这样做时,发生了一些奇怪的事情。我无法精确定位   究竟为什么,所以我离开了它(我试图避免它的所有不确定性   因为生命如此短暂而来到Symfony。   所以,我做了" my_own_config.php "其中我只有一个简单的界限:

ini_set("error_log", "c:/wamp/logs/phperror2.log");
     

在我的config_dev.yml中,我将其包含在- { resource: my_own_config.php }

中      

在我的测试控制器中,我会打印

echo '<br>'.ini_get('error_log');
     

确保我的设置真的得到应用&amp;记住。原来,   当我第一次加载测试页时,它会真的记住并显示正确的新设置,但是当我在它之后点击F5    - 它再次显示默认的系统日志。我一直在开发模式下运行。尝试了F5,硬刷等,但所有后来的电话都退回了   降至默认值。

     

当我更改 my_own_config.php 文件并重新保存时 - 再次,第一次之后,我的自定义设置将是   记得,随着刷新,它消失了。   所以,我得出结论,一些奇怪的Symfony缓存接管并覆盖我的自定义php配置文件并放弃了这种方法。

2 个答案:

答案 0 :(得分:1)

如果您想进行一些外部框架设置更改,可以按照Miscellaneous Configuration中的说明整理设置,例如,您可以将自定义设置放在以下文件中:

# app/config/my_settings.php

<?php 
error_reporting(E_ALL); 
ini_set("display_errors", 1); 

并将其包含在config.yml中:

# app/config/config.yml
imports:
    - { resource: my_settings.php }

希望这个帮助

答案 1 :(得分:0)

php.yml是一个Symfony1配置文件,它不适合在Symfony2中使用。

根据Symfony Best Practices页面,app/config/config.yml适用于与应用程序相关的设置,而app/config/parameters.yml.dist(自动生成parameters.yml)适用于与基础架构相关的设置

在app / config中找到的标准Symfony2配置文件是:

  • config.yml
  • config_dev.yml
  • config_prod.yml
  • config_test.yml
  • parameters.yml(从parameters.yml.dist生成)
  • parameters.yml.dist
  • 的routing.yml
  • routing_dev.yml
  • security.yml
  • services.yml

对于原始PHP配置设置,最好的位置是web / app_dev.php(用于开发)或web / app.php(用于生产),或通过php.ini在系统范围内。但是,Symfony有自己的PHP错误处理服务。但你仍然可以在app_dev.php文件的顶部打开PHP错误 - error_reporting(E_ALL); ini_set('display_errors',1);