加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP:远程函数调用并返回结果?

发布时间:2020-12-13 14:05:17 所属栏目:PHP教程 来源:网络整理
导读:我对 PHP不是很专业.我想知道如何在2个Web服务器之间进行通信.为清除,(从第1台服务器)运行远程服务器上的功能(查询).并将结果返回给第一台服务器. 实际上主题是: Web服务器(1)—————- Web服务器(2)—————数据库服务器 Web服务器(1) ---------------
我对 PHP不是很专业.我想知道如何在2个Web服务器之间进行通信.为清除,(从第1台服务器)运行远程服务器上的功能(查询).并将结果返回给第一台服务器.

实际上主题是:
Web服务器(1)—————-> Web服务器(2)—————>数据库服务器
Web服务器(1)< ---------------- Web服务器(2)< ---------------数据库服务器 Query Function()将仅位于Web Server(2)上.然后我需要从Web Server(1)远程运行该查询函数(). 这叫什么?有可能吗?

是.

我能想到的一个好方法是通过URL向第二台服务器发送请求.在GET(或POST)参数中,指定要调用的方法,以及(为了安全性)某种随时间变化的散列.那里的哈希确保没有第三方可以在第二台服务器上任意运行该功能.

要发送请求,您可以使用cURL:

function get_url($request_url) {
  $ch = curl_init();
  curl_setopt($ch,CURLOPT_URL,$request_url);
  curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  $response = curl_exec($ch);
  curl_close($ch);

  return $response;
}

这会发送一个GET请求.然后你可以使用:

$request_url = 'http://second-server-address/listening_page.php?function=somefunction&securityhash=HASH';
$response = get_url($request_url);

在您的第二台服务器上,设置listen_page.php(当然是您喜欢的任何文件名),它检查GET请求并验证请求的完整性(即散列,正确和有效的参数).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读