我目前正在创建一个从表单中获取用户数据的Web应用程序,将其发布到PHP脚本,然后PHP在服务器上运行可执行文件,并将表单数据作为可执行文件的参数。 / p>
为了澄清,我有一个可执行文件,根据用户输入的内容进行计算。一旦我在后端获得表单数据,PHP就用于运行:
./myExecutable arg1 arg2 arg3 ...
将输出返回给PHP,最后返回给用户。
我的问题是:
是否有一种标准(更好?)方式来处理这种情况,其中需要处理用户输入的大型服务器端程序。 < / p>
我是网络应用程序的新手,但我想到的一些想法是:
答案 0 :(得分:0)
使用命令行效率很低,因为它每次都会创建一个新进程。效率的提高可能会对您的申请产生影响,也可能无关紧要。
此外,引入传递命令行参数的安全漏洞非常容易。请参阅此处的警告: http://php.net/manual/en/function.exec.php
两个更好的解决方案:
在代码之上构建REST API并从PHP调用它。像swagger这样的工具可以很容易地生成JSON打包代码,并且您可以清楚地定义界面。此外,您稍后可以决定将流程移至另一台计算机。
编写PHP扩展名。