【问题标题】:Specify a relative path to 'php_value error_log'指定 'php_value error_log' 的相对路径
【发布时间】:2012-07-05 00:20:17
【问题描述】:

与其将error_log 的绝对路径放在我的.htaccess 中,我想找到一种相对于.htaccess 文件(或类似文件)指定它的方法:

php_value error_log %{DOCUMENT_ROOT}/libs/log/error/PHP_errors.log

这就像我想做的那样,但这似乎不起作用。如果我指定绝对值,它确实有效。

【问题讨论】:

  • 如果设置为./path/error.log会怎样?
  • @jexact 天才!将其添加为答案,我会将其标记为正确。
  • 现在我只需要弄清楚如何只记录致命错误。
  • 只需更改错误报告级别即可。示例:php_value error_reporting 21(等于error_reporting(E_ERROR | E_PARSE | E_CORE_ERROR))在这里您可以找到其他值:PHP: Predefined Constants

标签: php apache .htaccess error-handling


【解决方案1】:

您可以将其设置为./path/error.log

【讨论】:

  • 虽然这有效,但它与当前执行的 php 文件的位置有关。因此,如果您在其他文件夹中运行某些代码,则错误日志的位置将相对于该位置移动。 IMO 在这种情况下不是很有用,因为大多数人会使用一些文件夹。
  • 请原谅死灵,但 O'Roony 为我节省了很多调试时间。我一直想知道为什么我的日志出现在错误的文件夹中。所以绝对不要使用 ./path 方法,除非你已经将所有请求路由到 index.php 文件或其他东西。
【解决方案2】:

当您有权访问服务器配置时,您可以添加以下行:

# set this to your document-root path
Define DOCROOT   "d:\htdocs"

在你的 htaccess 中你可以写:

php_value error_log ${DOCROOT}/libs/log/error/PHP_errors.log

有了这个定义,您甚至可以替换所有其他使用文档根目录的地方,例如

DocumentRoot "${DOCROOT}"

@见:https://httpd.apache.org/docs/2.4/de/mod/core.html#define

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多