如何最好地监听 PHP 中传入的 webhook?

问题描述 投票:0回答:3

所以我有一个 PHP 脚本来监听传入的 webhooks。但是:我应该把它放在哪里,以便它永久在后台运行并监听那些 webhook?我以前做过一些 PHP 编码,但从未做过网站。

我承认这是一个菜鸟问题,但我真的不知道并且希望得到任何帮助。

php webhooks
3个回答
2
投票

通常,Webhook 的端点只是常规 PHP 页面。该脚本不需要运行并“侦听”Webhook 调用 - Webhook 调用将向特定 URL 发送请求。然后,网络服务器将在该 URL 处执行 PHP 脚本。

文件的位置取决于您的网络服务器。在带有 Apache 的 Debian 上,默认 Web 根目录是

/var/www/htdocs/
。因此,如果您的网站是 www.jerm.com,则将文件放在
/var/www/htdocs/webhook.php
会导致 URL 为
www.jerm.com/webhook.php


1
投票

“webhook”只是一些代码的一个奇特术语,它向特定 URL 发出 HTTP 请求(通常是响应自身从某处接收到传入的 HTTP 请求,或者在应用程序内发生某些其他内部事件时) webhook 已定义)。基本上,它是一种概念技术,允许以受控方式在 Web 应用程序之间进行一定程度的异步通信。

因此,侦听 Webhook 请求的 PHP 程序实际上与可通过 Web 服务器访问的任何其他 PHP 程序没有什么不同 - 两者都只是在响应 Web 服务器接收到的 HTTP 请求时执行。该请求是否来自浏览器、“webhook”脚本或任何其他类型的计算机程序在很大程度上无关紧要。

您的网络服务器已经在后台运行并进行监听。因此,您可以按照正常方式将脚本部署到您的网络服务器可以利用它来响应对您提供给 webhook 的 URL 的请求的地方。


0
投票

您可以根据客户端发送给您的方式检查传入流或帖子变量:

$data =($json = json_decode(file_get_contents("php://input"))) ? $json : $_POST;
© www.soinside.com 2019 - 2024. All rights reserved.