我的 WAMP 本地服务器中有一个虚拟主机,我在其中设置日志文件。
我想将我的 PHP 日志错误级别更改为仅警告和错误。
最好的方法应该是.htaccess,我试过这个解决方案:
How to disable notice and warning in PHP within .htaccess file?
没用(也试过其他的)。
最后转到 php.ini 文件,但是是不太灵活的选项。
1)本级错误指令的优先级有哪些? (php.ini 与 htaccess 与代码) 我猜是那个顺序?
2) 为什么不能在 .htaccess 中工作? 我只是将它设置在 .htaccess 之上,但没有用。
最佳答案
我的建议是使用 httpd environment variable .
这可以作为一个标志来告知您的网络应用程序有关环境的信息。假设您有一个白标产品,它在设置特定虚拟主机应使用的配置等方面很有用。
<VirtualHost *:80>
DocumentRoot "/srv/www/foo/public"
ServerName foo.com
<Directory /srv/www/foo/public>
# production | development | staging
SetEnv APPLICATION_ENV development
...
然后在您的 PHP 代码中,您可以像这样访问它:
<?php
define('APPLICATION_ENV_LOCAL', 'local');
define('APPLICATION_ENV_DEVELOPMENT', 'development');
define('APPLICATION_ENV_STAGING', 'staging');
define('APPLICATION_ENV_PRODUCTION', 'production');
$app_env = (getenv('APPLICATION_ENV')) ? getenv('APPLICATION_ENV') : false;
if (empty($app_env) || ! in_array($app_env, array(APPLICATION_ENV_LOCAL, APPLICATION_ENV_DEVELOPMENT, APPLICATION_ENV_STAGING, APPLICATION_ENV_PRODUCTION))) {
throw new Exception("APPLICATION ENV IS NOT SPECIFIED OR IS INVALID.");
}
我要做的是根据环境包含完全独立的配置/INI 类型文件。这些可以确定错误报告行为,维护不同的数据库连接,以及任何其他依赖于应用程序环境的事情。
关于PHP错误日志级别控制: htaccess vs php. ini vs代码和虚拟主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50294150/