java - 与在 PHP 中运行的应用程序接口(interface)?

标签 java php linux debian code-injection

我想知道是否有任何方法可以通过 PHP 与正在运行的控制台程序(最好在 Linux/Debian 上运行)进行通信。我目前正在尝试为一个小的(现有的)控制台 Java 程序创建一个 Web 界面,我不知道是否有任何方法可以做到这一点。我可以“注入(inject)”一段代码,比方说,一个远程控制模块,然后使用它通过 PHP“远程控制”脚本吗? (如果不更改现有的 .jar 文件/只是注入(inject),无需重新编程,那就太好了)

我很感激每一条建议!

最佳答案

如果正在运行的程序没有通信接口(interface),那么你就无法与之通信。但是,如果确实如此,那么答案在很大程度上取决于程序如何接收外部输入。

如果程序包含网络监听线程(守护进程),那么您可以使用 CURL 或 PHP 的原始套接字在环回接口(interface)上与它通信。

与程序通信的其他方式是共享对文件的访问(PHP 写入文件,Java 读取文件)或通过数据库。

数据库将是最佳选择 - 它是线程安全的,并且 PHP 和 Java 都具有出色的 MySQL 支持(Java 通过 JDBC)。

但是,如果您实际上不需要与正在运行的程序交互,只需要启动/停止/重新启动它,您可以使用 PHP 中的 system() 函数来完成此操作。

关于java - 与在 PHP 中运行的应用程序接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10303097/

相关文章:

java测试: accelerate time to test timeouts?

java - 将多个枚举值分配给一个类属性

php - 无法从 channel 中删除 laravel_database_ 前缀

linux: ranlib 似乎没有将任何新信息添加到存档文件中?

java - Android 中的 TextView inputType 日期 - 它是如何工作的?

java - GUI 中的空格不正确排列

php - Mysqli_fetch_assoc 未存储为 session 变量

php - 在 Android 中对 Json 输出进行排序

linux - 创建共享对象时,不能使用针对符号 _ZTISt13runtime_error@@GLIBCXX_3.4 的重定位 R_X86_64_PC32;使用 -fPIC 重新编译

linux - 如何用以特定数字开头的数字替换文件名?