如何按文件夹设置error_log

时间:2012-05-08 13:43:20

标签: php apache webserver cpanel error-log

我的公司有一个大型托管,但它不由我们管理,我们没有看到配置文件,但我想在我们的本地测试服务器上回复此功能。

我是我公司的新手,想要开始一些应用程序的调试,以修复一些未成年人和专业问题给客户端,但文件数量太大,单个error_file很大..而且每次都有很多人在研究这个问题我检查日志(如30秒到1分钟)有数百条添加的行。

我不知道这是通过.htaccess文件还是在php.ini上设置的。

- 编辑 -

我在谈论PHP错误,但我怎么说我不知道​​这是在php或apache上设置还是使用第三方库。

我不是在谈论设置特定文件夹error_log,我说的是在脚本文件夹中记录错误。

示例:我创建了一个名为test1的文件夹,在里面我制作了一些错误的PHP脚本,它会抛出一些错误,当我运行脚本时,我可以看到在该文件夹上创建的error_log文件。所以它可以即时运行。

我曾试图询问托管公司如何支持他们,但他们没有回答我。


我不知道是否可能是某种Cpanel设置(BTW主机支持的东西不能理解这个问题但很好......通常支持1级不能处理技术的东西)

3 个答案:

答案 0 :(得分:12)

我找到了。

你必须在php.ini文件指令上设置如下,右边的字符串“error_log”是你想要的日志文件名,

error_log = error_log

这将在脚本执行的文件夹中生成一个php错误日志,

我会尝试解释

文件夹/ www / site / lib

中的

脚本test.php

include "./db_conn.php";

如果db_conn.php不在同一目录下,则会触发警告和错误,通常会导致serve / vhost日志,但使用此指令,您将获得/ www / site / lib下的error_log文件。目录

为什么我在寻找或者这个,就像我写的那样,我写的是我正在开发一个巨大的应用程序,有数千个文件可以发出警告,通知等等。我不是项目和网站中唯一的错误_log如此巨大的难以跟踪一个或一些文件的调试演变,现在我只需要跟踪我正在工作的dirs的日志。

答案 1 :(得分:0)

您可以通过将日志添加到vhost或htaccess

来管理日志
ErrorLog /path/to/a/writable/directory/error.log

有关详细信息,请查看此article on advanced php error handling via htaccess

答案 2 :(得分:0)

要在PHP中执行此操作,请编辑php.ini并添加行

error_log = /path/to/where/you/want/your/php-errors.log

然后重新启动Web服务器。这应该给你PHP错误,只有PHP错误。当然,前提是脚本不会被写入以丢弃所有错误。

要在Apache中执行此操作,您可以使用SetEnvIf将环境变量添加到以php结尾的任何请求,然后使用该特定环境变量打印所有日志。 E.g:

SetEnvIf Request_URI "\.php$" phplog
CustomLog /path/to/php.log env=phplog

要在多个文件夹中使用它,请为每个文件夹创建一个环境变量,为每个文件夹创建一个CustomLog,如下所示:

SetEnvIf Request_URI "/folder1/.*\.php$" log_folder1
Customlog /path/to/folder1/php.log env=log_folder1

SetEnvIf Request_URI "/folder2/.*\.php$" log_folder2
Customlog /path/to/folder2/php.log env=log_folder2