Php 如何将POST请求的全文记录到文件中以进行调试?
我已经阅读了这个问题的许多“可能的副本”,并在本文中使用了其中一个问题的代码,但我似乎看不出这个问题到底在问什么 作为与PHP或网站无关的更大项目的一部分,我需要获取对共享服务器的POST请求的主体。 根据这些想法,我在服务器的www文件夹中创建了一个php文件,其中包含以下内容 webhook.phpPhp 如何将POST请求的全文记录到文件中以进行调试?,php,debugging,post,Php,Debugging,Post,我已经阅读了这个问题的许多“可能的副本”,并在本文中使用了其中一个问题的代码,但我似乎看不出这个问题到底在问什么 作为与PHP或网站无关的更大项目的一部分,我需要获取对共享服务器的POST请求的主体。 根据这些想法,我在服务器的www文件夹中创建了一个php文件,其中包含以下内容 webhook.php <?php error_log("webhook running"); file_put_contents("post.log", print_r
<?php
error_log("webhook running");
file_put_contents("post.log", print_r($_POST, true));
?>
但我的服务器上的日志文件仅包含
Array
(
)
我不是一个PHP程序员(只要做我需要做的最低限度的工作就可以了)
出于调试和开发目的,我应该如何修改我的webhook.php脚本,以便能够看到发送的所有数据
如果我能做到这一点,那么我可能可以解决如何对每个元素进行适当的处理,而这些元素并不总是具有上述结构。PHP仅在请求内容类型为
application/x-www-form-urlencoded
或多部分/表单数据
时填充$\u POST。如果您收到其他邮件,则必须使用php://input
读取原始帖子正文,然后自己解析
您所展示的示例JSON似乎是有效的——因此,如果JSON_decode没有在这里给出预期的结果,那么您的输入数据可能不是您最初期望的
这里的一个基本调试错误是,您只查看多个“复合”操作的最终结果。记录什么
文件\u获取\u内容('php://input“)
首先返回,看看这是否真的是您所期望的。如果不是从一开始,那么只查看json_解码返回的内容并没有多大帮助。您检查过错误日志了吗。这段代码真的应该可以工作,所以可能在日志中有一条有用的错误消息“我然后使用了第三方公司发布了一条测试消息”您可能还没有启用CORS这是否回答了您的问题?当请求内容类型为application/x-www-form-urlencoded
或multipart/form data
时,PHP仅填充$\u POST。如果您收到其他邮件,则必须使用php://input
读取原始帖子正文,然后自己解析。您所展示的示例JSON似乎是有效的-因此,如果JSON_decode
没有给出此处的预期结果,那么您的输入数据可能不是您最初预期的结果。这里的一个基本调试错误是,您只查看多个“复合”操作的最终结果。记录什么文件\u获取\u内容('php://input“)
首先返回,看看这是否真的是您所期望的。如果不是从一开始,那么只查看json\u decode
返回的内容并没有帮助。
Array
(
)