用于错误报告的php ini设置

时间:2014-02-18 18:08:00

标签: php php-ini

我在VPS上运行我的网站。我可以为LAMP创建1个实例。我想为开发服务器和生产服务器上的错误报告设置不同的设置。

有没有办法在同一个php.ini文件中为开发和生产定义两个不同的设置?

我想设置

error_reporting(-1);

用于开发服务器,

error_reporting(0);

用于生产服务器。

2 个答案:

答案 0 :(得分:0)

在同一php.ini文件中不能有两组配置。 但您可以在Apache中拥有多个网站

在每个站点中,您都可以配置依赖于环境的设置。

例如,在prod.conf

php_value error_reporting 0

而且,在dev.conf

php_value error_reporing -1

您还可以使用display_errorserror_log之类的其他内容。 然后,您打开生产服务器上的prod.conf站点和开发服务器上的dev.conf

答案 1 :(得分:0)

你不能直接在php.ini中这样做。有几种方法可以达到你想要的效果:

  • 您可以直接在Apache vhost conf中使用设置来明确设置该虚拟主机的所需值。

  • 您可以在.htaccess文件中使用指令,一个用于您的实时应用,另一个用于您的开发应用。

  • 您可以使用环境变量触发应用设置正确的设置。在Apache配置或.htaccess中,将“APP_MODE”等环境变量设置为“development”或“production”。然后,您的应用程序代码可以查找该var并相应地设置报告。例如,if (getenv('APP_MODE') == 'development') { error_reporting(E_ALL); }

  • 您可以使用为您执行此操作的框架。例如,Zend Framework使用环境变量和ini文件的组合。