rob*_*sta 1 php web-applications php-extension
我需要从网页调用用C++编写的外部库并显示结果.平台是Linux,Apache,PHP.
我目前的想法是使用PHP服务,它将调用我的库/程序.我发现有两种可能的方法可以做到这一点:1)使用PHP'exec'函数2)编写PHP扩展
我好奇什么效果更好?快点?减少加载服务器?
我可能需要每秒进行4次调用,所以我希望尽可能优化.
PS如果您了解从网页调用C++库或程序的其他(更有效)方法,请告诉我.
非常感谢,
罗布斯塔
理论上,扩展更快,因为它避免了创建新进程的开销.它也是一个"更干净"的解决方案(没有笨拙的程序参数转义;你能够解析任意PHP值,如对象而不是字符串等).
但是,如果您已经有一个使用该库的命令行程序,那么您将更容易执行它而不是编写扩展.
请注意,如果您每秒只进行4次调用,那么在性能方面,您使用哪种方法无关紧要,除非您的库需要昂贵的初始化,可以通过在PHP扩展中存储持久(交叉请求)状态来避免.