如何使用 PHP 与服务器中的另一个应用程序一起工作?
How can I use PHP to work with another application in the server?
我正在从表单中获取一些输入。我有一个处理输入并从中生成哈希值的 C++ 程序。如何在处理表单的 PHP 脚本和处理输入的 c++ 程序之间传输数据?
取决于 C++ 应用程序是什么样的:
它是某种守护进程,不断生成一些数据(一些测量数据)。然后它可以将这些数据存储到某个文件或数据库中,PHP 只需按需读取和显示这些数据。
它是某种 "service" 守护程序 - 它侦听某个端口并能够通过套接字进行通信。然后您可以从您的 PHP 脚本连接到它并使用您的应用程序协议请求数据。参见 http://php.net/manual/en/sockets.examples.php
这是一个 "simple" 应用程序,您需要从 PHP 执行它并获取它的输出以用于显示(或结果解析)。然后你可以 exec() it or run it through proc_open()
你想做的是想出一个 C++ 和 PHP 之间的数据接口。我建议使用 JSON,因为 PHP 具有简单的 json_decode
功能。
您需要研究一下如何从 C++ 保存到 JSON,考虑查看 here。
让您的 C++ 程序将您要在 PHP 中使用的内容保存到 .json 文件中,然后使用 [=12] 加载 PHP 中的 .json 文件=] 和 json_decode
。例如,如果您希望您的 C++ 程序生成一条消息,您可以使用 { message : "Hello World" }
之类的内容保存一个对象并将其保存为 message.json。
然后在 PHP 中执行:
$file_data = json_decode(file_get_contents("message.json"));
echo $file_data["message"];
编辑:您还可以让 C++ 将数据保存到数据库中,然后使用 PHP 从数据库中读取。这很简单。
我正在从表单中获取一些输入。我有一个处理输入并从中生成哈希值的 C++ 程序。如何在处理表单的 PHP 脚本和处理输入的 c++ 程序之间传输数据?
取决于 C++ 应用程序是什么样的:
它是某种守护进程,不断生成一些数据(一些测量数据)。然后它可以将这些数据存储到某个文件或数据库中,PHP 只需按需读取和显示这些数据。
它是某种 "service" 守护程序 - 它侦听某个端口并能够通过套接字进行通信。然后您可以从您的 PHP 脚本连接到它并使用您的应用程序协议请求数据。参见 http://php.net/manual/en/sockets.examples.php
这是一个 "simple" 应用程序,您需要从 PHP 执行它并获取它的输出以用于显示(或结果解析)。然后你可以 exec() it or run it through proc_open()
你想做的是想出一个 C++ 和 PHP 之间的数据接口。我建议使用 JSON,因为 PHP 具有简单的 json_decode
功能。
您需要研究一下如何从 C++ 保存到 JSON,考虑查看 here。
让您的 C++ 程序将您要在 PHP 中使用的内容保存到 .json 文件中,然后使用 [=12] 加载 PHP 中的 .json 文件=] 和 json_decode
。例如,如果您希望您的 C++ 程序生成一条消息,您可以使用 { message : "Hello World" }
之类的内容保存一个对象并将其保存为 message.json。
然后在 PHP 中执行:
$file_data = json_decode(file_get_contents("message.json"));
echo $file_data["message"];
编辑:您还可以让 C++ 将数据保存到数据库中,然后使用 PHP 从数据库中读取。这很简单。