由于云实例只是一台远程托管的机器,因此它应该能够像本地服务器一样运行。我用 C++ 编写了一些程序,我通常通过 Windows 10 服务器上的 exec() 函数在 PHP 文件中调用这些程序。
例如,我将程序保存到htdocs
同一个文件夹中并进行编译,然后 PHP 通过前端获取数据,执行一些逻辑并将其写入文本文件。然后它启动 C++ 程序,就像exec("main.exe")
,C++ 读取该文本文件中的数据并执行最终逻辑。
我如何在 AWS Elastic Beanstalk 等云服务上执行此操作?
答案1
例如,您可以将编译后的 C++ 程序与所有必需的库以及 PHP 代码捆绑在一起,并以与将 PHP 代码部署到 Elastic Beanstalk 相同的方式进行部署。它可以位于同一个包中,也可以位于单独的 ZIP 文件中。
顺便说一句,关于您的架构,我想说一句:如果我是您,我会将 C++ 程序作为后台进程运行,例如通过本地主机向 PHP 进程公开 REST API。PHP 只需使用数据调用 API,返回结果并继续。无需为每个 HTTP 请求启动一个新进程,处理结果文件等。
希望有帮助:)