我的公司有一个大型托管,但它不由我们管理,我们没有看到配置文件,但我想在我们的本地测试服务器上回复此功能。
我是我公司的新手,想要开始一些应用程序的调试,以修复一些未成年人和专业问题给客户端,但文件数量太大,单个error_file很大..而且每次都有很多人在研究这个问题我检查日志(如30秒到1分钟)有数百条添加的行。
我不知道这是通过.htaccess文件还是在php.ini上设置的。
- 编辑 -
我在谈论PHP错误,但我怎么说我不知道这是在php或apache上设置还是使用第三方库。
我不是在谈论设置特定文件夹error_log,我说的是在脚本文件夹中记录错误。
示例:我创建了一个名为test1的文件夹,在里面我制作了一些错误的PHP脚本,它会抛出一些错误,当我运行脚本时,我可以看到在该文件夹上创建的error_log文件。所以它可以即时运行。
我曾试图询问托管公司如何支持他们,但他们没有回答我。
我不知道是否可能是某种Cpanel设置(BTW主机支持的东西不能理解这个问题但很好......通常支持1级不能处理技术的东西)
答案 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