PHP错误日志级别控制: htaccess vs php. ini vs代码和虚拟主机

标签 php .htaccess ini error-logging

我的 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/

相关文章:

javascript - 创建与 php 数组具有相同结构的 javascript 数组

regex - 如何为 N 参数创建 RewriteRule?

php - 通过 Apache 在所有页面中插入 HTML 代码?

c# - 读取本地帐户ini文件

php - 在没有互联网连接的情况下注册 Android 应用程序

php - Mysql 结果集分组并可作为组访问

PHP MySQL 插入/选择多个一对多

apache - .htaccess 文件会被黑客攻击吗?

bash - 如何使用模板使用 bash 创建 .ini 文件

c++ - 如何读取 C++ 中的 ini 文件?