如何从另一台服务器调用PHP函数?

时间:2019-07-12 02:23:28

标签: php

有没有办法可以从另一台服务器调用PHP函数?

我可以同时访问这两个服务器。我想从服务器1调用PHP函数,并在服务器2中使用它。

我需要在两台服务器上进行哪些更改才能实现?谢谢!

3 个答案:

答案 0 :(得分:2)

您可以使用API​​来执行此操作。在使用Curl或GuzzleHttp的服务器1 上,您要对服务器2

进行API调用

服务器2 收到服务器1 的请求后,您可以运行该功能。

这里要考虑的一件事是安全性,您将需要一种方法来验证只有服务器1 正在发出请求,而不是有人弄清楚您的API。通常,发出请求时会传递API密钥,并在API上对其进行检查。

答案 1 :(得分:1)

基本上,您要问的是如何在两个PHP应用程序之间执行remote procedure call (RPC)。要在不同服务器上托管的两个应用程序(在您的情况下为PHP应用程序)之间进行通信,您需要选择某种communication protocol

您选择的协议取决于很多事情,包括应用程序执行的操作,它们之间进行通信的频率,要在它们之间发送的数据类型等等。

我自己也不是专家,但是据我所知gRPCREST是两种比较流行的API通信协议。有关两者之间的比较,请参见these articles。如果您的服务器要经常来回通信,则可能需要考虑WebSockets or MQTT

对于大多数这些协议,您将不得不在一台服务器(您要在其上调用其功能的服务器)上设置服务/服务器,而在另一台服务器(来自以下位置的服务器)上设置客户端您要调用的函数)。

要设置gRPC,请查看此PHP tutorial

要设置REST,您需要在服务器主机上公开HTTP端点,并从客户机主机使用该端点。公开端点最容易使用一个API框架来完成(其中只有Google“ PHP REST框架”)。可以使用HTTP客户端(例如Guzzle)来使用端点,就像提到的其他一些答案一样。

答案 2 :(得分:-2)

对不起,如果不是同一服务器会话不会在其他页面上生效,就不可能像sesssion一样。