6

我公司有一个很大的主机,但是不是我们管理的,我们看不到配置文件,但是我想在我们本地的测试服务器上回复这个功能。

我是公司的新人,想开始调试应用程序以解决客户的一些次要问题和主要问题,但是文件量太大以至于单个error_file很大.. 有很多人在做这个,所以每个我检查日志的时间(比如 30 秒到 1 分钟)有数百行添加。

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

我说的是 PHP 错误,但我不知道这是在 PHP、Apache 中设置的,还是使用第三方库。

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

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

我试图询问托管公司支持他们如何做到这一点,但他们没有回答我。


我不知道是否可能是某种cPanel设置(顺便说一句,托管支持的东西也不理解这个问题,但是……通常 1 级支持无法处理技术问题)。

4

3 回答 3

14

我找到了。

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

error_log = error_log

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

我会尽力解释。

文件夹/www/site/lib中的脚本test.php

include "./db_conn.php";

如果文件db_conn.php不在同一目录中,则会触发警告和错误。通常这将导致服务器/虚拟主机日志,但使用此指令您将在/www/site/lib目录下获得一个error_log文件。

我为什么要找这个?好吧,正如我所写,我正在开发一个巨大的应用程序,其中包含数千个文件,许多文件会发出警告、通知等。我不是项目中唯一的一个,并且站点error_log文件非常大,很难保存跟踪一个或只是一些文件的调试演变。现在我只需要跟踪我正在工作的目录中的日志。

于 2012-05-22T22:09:29.467 回答
1

您可以通过将其添加到您的vhosthtaccess文件来管理日志

ErrorLog /path/to/a/writable/directory/error.log

有关更多信息,请查看这篇关于通过htaccess进行高级 PHP 错误处理的文章。

于 2012-05-08T14:12:09.760 回答
0

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

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

然后重新启动网络服务器。这应该会给您该文件的 PHP 错误,并且只有 PHP 错误。当然,前提是脚本不是为了消除所有错误而编写的。

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

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
于 2012-05-08T14:30:22.660 回答