这取决于您实际想要实现的目标,即您将 ac 程序“连接”到index.php
?
您应该意识到的第一件事是,我们在这里谈论的是两个进程:(a) c 程序和 (b) 执行 PHP 脚本的任何解释器(可能是 Web 服务器)。
您想在两个进程之间交换数据,因此我们讨论进程间通信。
在Wikipedia 文章中,您会看到一个表格,其中列出了几种方法:
由于您的 PHP 脚本可能在 Web 服务器中运行,因此套接字解决方案很有希望:Web 服务器已经侦听传入连接,并提供了一个体面的协议来交换数据:HTTP。
我不会重复 Basile 的答案,而只是举例说明如何使用 CGI 在 c 程序和 PHP 脚本与 Web 服务器之间交换一些数据:
Web 服务器提供了一个 URL,它将调用 PHP 脚本,例如http://test.me/test.php
.
现在,程序将是:
- C程序建立到socket test.me:80的TCP连接
c 程序通过HTTP GET请求发送文本,格式为
GET /test.php?a=31&b=19 http/1.1
服务器将调用 index.php,为其提供键值对 a=31, b=19
该脚本将执行某些操作,并将某些内容打印到标准输出,例如:
abc
(这不是一个有效的 HTTP 响应,但它足以概括整个过程)
abc
Web 服务器将通过与 c 程序的连接将php 脚本的输出发回。
如您所见,在此示例中,您转移了
- a=31, b=19 从c程序到web服务器/index.php
abc
从 web server/index.php 到 c 程序
一般来说,最好的解决方案取决于你想要完成什么。我假设您的示例只是一个示例,您可以按照我上面起草的方式解决它。但是,如果您真的只是想在控制台上打印一些东西,只需让您的 index.php 将其写入文件/管道,然后 c 程序读取文件...
这样或那样,我觉得你有很多探索......
此外,我想澄清最后一件事:为了简单起见,我使用了“c程序”,但我不必是ac程序,但您的问题涉及任意进程,它也可能是由python运行的python脚本口译员或...