我在VPS上运行我的网站。我可以为LAMP创建1个实例。我想为开发服务器和生产服务器上的错误报告设置不同的设置。
有没有办法在同一个php.ini文件中为开发和生产定义两个不同的设置?
我想设置
error_reporting(-1);
用于开发服务器,
error_reporting(0);
用于生产服务器。
答案 0 :(得分:0)
在同一php.ini
文件中不能有两组配置。
但您可以在Apache
中拥有多个网站。
在每个站点中,您都可以配置依赖于环境的设置。
例如,在prod.conf
:
php_value error_reporting 0
而且,在dev.conf
:
php_value error_reporing -1
您还可以使用display_errors
和error_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文件的组合。