PHP错误日志级别控制:htaccess与php.ini与代码和virtualhost

我在WAMP本地服务器中有一个虚拟主机,在其中设置了日志文件.

我想将我的PHP日志错误级别更改为仅警告和错误.

最好的方法应该是.htaccess,我尝试了以下解决方案:

How to disable notice and warning in PHP within .htaccess file?

不要工作(也要尝试其他人).

最后转到了php.ini文件,但是灵活性较差.

1)该级别错误指令的优先级是哪些? (php.ini vs htaccess vs代码)
我猜那个命令?

2)为什么不能在.htaccess中工作?
我只是将其设置在.htaccess之上,但没有工作.

解决方法:

我的建议是使用httpd environment variable.

这可以作为标记来通知您的Web应用程序有关环境.假设您有一个白色标签的产品,例如在设置特定虚拟主机应使用的配置时,它可能会很有用.

<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.");
}

我要做的是根据环境包含完全独立的config / INI类型文件.那些可以确定错误报告的行为,维护不同的数据库连接,其他取决于应用程序环境的东西.

上一篇:mod_rewrite,.htaccess连接到mysql数据库


下一篇:php-当端口始终为80时,重定向HTTP> HTTPS