我正在尝试将我的存储库连接到带有Webhook的php文件,该文件托管在免费的Web服务器中。
问题是我没有收到任何数据。
这是我的webhook.php文件。
<?php
$data = file_get_contents('php://input');
$data = json_decode($data, true);
print_r($data);
这些是来自Github的请求和响应标头的详细信息:
请求标头
Request URL: http://<user>.<domain>.org/webhook.php
Request method: POST
content-type: application/json
Expect:
User-Agent: GitHub-Hookshot/8f0ea18
X-GitHub-Delivery: 45e2783a-ec35-11e8-8444-a0221ee402c8
X-GitHub-Event: push
响应标题
Cache-Control: no-cache
Connection: keep-alive
Content-Length: 841
Content-Type: text/html
Date: Mon, 19 Nov 2018 19:55:35 GMT
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Server: nginx
Vary: Accept-Encoding
响应为200
http状态。
我尝试过使用其他存储库(Bitbucket和Gitlab),但是我总是收到一个空的json数据。特别是在使用Bitbucket的情况下,我已勾选了Skip certificate verification
选项,但没有任何积极结果。
谢谢
编辑1
<?php
$data = file_get_contents('php://input');
if (empty($data)) {
echo 'empty';
}
else {
echo strlen($data);
}
$data = json_decode($data, true);
print_r($data);
返回empty
,即使响应标头的内容长度不是0
。