有没有办法可以从另一台服务器调用PHP函数?
我可以同时访问这两个服务器。我想从服务器1调用PHP函数,并在服务器2中使用它。
我需要在两台服务器上进行哪些更改才能实现?谢谢!
答案 0 :(得分:2)
您可以使用API来执行此操作。在使用Curl或GuzzleHttp的服务器1 上,您要对服务器2
进行API调用服务器2 收到服务器1 的请求后,您可以运行该功能。
这里要考虑的一件事是安全性,您将需要一种方法来验证只有服务器1 正在发出请求,而不是有人弄清楚您的API。通常,发出请求时会传递API密钥,并在API上对其进行检查。
答案 1 :(得分:1)
基本上,您要问的是如何在两个PHP应用程序之间执行remote procedure call (RPC)。要在不同服务器上托管的两个应用程序(在您的情况下为PHP应用程序)之间进行通信,您需要选择某种communication protocol。
您选择的协议取决于很多事情,包括应用程序执行的操作,它们之间进行通信的频率,要在它们之间发送的数据类型等等。
我自己也不是专家,但是据我所知gRPC和REST是两种比较流行的API通信协议。有关两者之间的比较,请参见these articles。如果您的服务器要经常来回通信,则可能需要考虑WebSockets or MQTT。
对于大多数这些协议,您将不得不在一台服务器(您要在其上调用其功能的服务器)上设置服务/服务器,而在另一台服务器(来自以下位置的服务器)上设置客户端您要调用的函数)。
要设置gRPC,请查看此PHP tutorial。
要设置REST,您需要在服务器主机上公开HTTP端点,并从客户机主机使用该端点。公开端点最容易使用一个API框架来完成(其中只有Google“ PHP REST框架”)。可以使用HTTP客户端(例如Guzzle)来使用端点,就像提到的其他一些答案一样。
答案 2 :(得分:-2)
对不起,如果不是同一服务器会话不会在其他页面上生效,就不可能像sesssion一样。