我似乎无法让 Apache 模块 mod_dumpio 来记录任何内容。
我已经尝试了这篇文章
中的建议为了确定我已经尝试过以下方法
禁用了我所有的虚拟主机,除了我正在处理的网站的虚拟主机
运行a2enmod dump_io,并重新启动Apache,可以在/etc/apache/mods-enabled/dump_io.load
检查 /etc/apache/apache.conf LogLevel 也是 dumpio:trace7
我打开日志尾-f n 20 /var/log/apache2/packager-access.log
运行以下命令发送一些post数据--data "param1=value1¶m2=value2" http://packager.local/api/package/create
只能看到类似 127.0.0.1 - - [12/Nov/2014:10:07:04 +0000] "POST /api/package/create HTTP/1.1" 500 294 "-" "curl/7.35. 0"
虚拟主机配置如下
<VirtualHost *:80>
DocumentRoot /var/www/packager/web
ServerName lms-packager.local
ErrorLog ${APACHE_LOG_DIR}/packager-error.log
CustomLog ${APACHE_LOG_DIR}/packager-access.log combined
DumpIOInput On
DumpIOOutput On
LogLevel dumpio:trace7
</VirtualHost>
还有什么我可以尝试的吗
阅读完这篇文章后,我尝试将配置移至服务器级别。
正如帖子所暗示的,Apache 手册中的要点是
服务器配置 这意味着该指令可以在服务器中使用 配置文件(例如,httpd.conf),但不在任何 或容器。不允许在 .htaccess 文件。
以下内容也很重要,因此仅检查您的 ErrorLog 文件(例如 /var/log/apache2/error.log),而不是任何虚拟主机文件,如果这是服务器配置,则有意义
记录(转储)到 error.log 文件中
在 httpd.conf 文件中进行以下更改后,我让 dumpio 在 httpd/2.4.27 上工作。
通过简单地删除导致指令的行的前导
#LoadModule dumpio_module modules/mod_dumpio.so
字符来取消注释行 #
LoadModule dumpio_module modules/mod_dumpio.so
将 httpd.conf 中服务器级别的
LogLevel
指令替换为以下行。
DumpIOInput On
DumpIOOutput On
LogLevel dumpio:trace7