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

我对 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请求并验证请求的完整性(即散列,正确和有效的参数).

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...