...这样我就可以编写自定义日志代码了。例如,我在生产和开发环境中的密码不同,因此我使用get_cfg_var("mysqli.default_pw")
,因此当我将代码推送到生产环境时,我不需要编辑密码。
我需要生产开发设置,因为我希望在生产环境中始终显示日志记录,并且我希望在开发环境中显示记录到我的静态IP。 (通过记录我的意思是JSON响应中的SQL查询,以及其他一些小事)。
答案 0 :(得分:3)
在php.ini *中没有这样的东西,但你只能通过setting an environment variable来做到这一点:
SetEnv MYAPP_ENVIRONMENT production
将其放入核心Apache(虚拟)主机配置文件或.htaccess文件中,具体取决于您有权访问。
在PHP中,然后使用getenv
:
switch (getenv('MYAPP_ENVIRONMENT')) {
case 'production':
...
default:
...
}
实际上,不是通过环境变量对switch
的不同配置进行硬编码,而是考虑完全通过环境变量设置必要的配置。或者使用该变量指向您在PHP中include
的配置文件:
require_once (getenv('MYAPP_CONFIG') ?: 'defaults.php');
更好:您有一个中性默认配置,您可以通过环境变量有选择地覆盖单个参数。我会把它作为练习留给读者。
根据经验和设计准则:您不应将特定于系统的配置数据提交到源代码存储库中。
*我想你可以添加你想要的任何配置到php.ini,但你不应该。该文件是所有PHP实例的系统范围配置。您真正想要的是应用程序/(虚拟)主机特定,因此Apache中的标志更合适。