【问题标题】:Is there is any way to serve my php app from computer to whole internet?有什么方法可以将我的 php 应用程序从计算机服务到整个互联网?
【发布时间】:2021-12-15 04:49:30
【问题描述】:

我是一个 PHP,在我的 VPS 中开发一个 PHP 电报机器人。每当我必须更改代码中的某些内容时,我必须先打开文件然后对其进行编辑,然后重新加载服务器以查看更改的效果,这需要做很多事情有什么简单的方法吗?

我不能在这里使用我的计算机的本地主机,因为每次用户使用我的机器人时,电报 API 都会通过发布请求向我发送更新,因此电报无法将其发送到 HTTP:localhost:3000

我也尝试过轮询(每秒检查一次电报 API 是否有更新),但电报会以这种方式给我一个超时错误。

所以如果您有任何想法,请与我们分享

【问题讨论】:

  • 为什么要花这么多精力?您将在本地主机上执行完全相同的过程 - 打开文件,编辑它,打开页面进行测试。 (我假设后者是您所说的“重新加载服务器”的意思——您不需要重新启动服务器来更改 PHP 文件)
  • 如果您的本地机器有一个公共 ip,您可以设置电报使用该 ip,如果没有,有办法使用您的 VPS 建立 VPN 并将流量重定向到您的本地机器,例如 tinc-vpn.org可以这样做

标签: php telegram-bot php-telegram-bot


【解决方案1】:

要使您的 IP 对 Internet 可见,您应该使用一种称为 Port Forwarding 的技术。

因为你没有提到你使用什么样的路由器来连接互联网,所以我无法写任何关于这个的例子。

我建议您坚持使用getUpdates 方法(如您所说,这是长轮询)。为确保您可以访问电报机器人 api 服务器,请打开浏览器并访问此链接(在链接中替换您的机器人令牌):

https://api.telegram.org/bot[YOUR_BOT_TOKEN]/getUpdates

用您自己的令牌替换[YOUR_BOT_TOKEN]。如果它有效并且没有给您超时错误,则意味着您在脚本中使用了错误的链接或您正在使用的库有问题。

【讨论】:

    猜你喜欢
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多