我使用C ++创建了一个PHP扩展。我想以二进制形式将我的扩展程序发送给我的客户端。这意味着我需要为每个PHP版本(5.2,5.3,5.4,5.5)和每个处理器架构构建一个单独的版本。
我的问题是:
为什么他们不断更新API时间戳,而API本身似乎没有改变?在升级系统以使用下一版本的PHP时,它不会消除很多头痛吗?仅仅为了比较,我还有一个使用XLL API的MS Excel扩展版本,并且该API自2003年以来一直保持向后兼容,这使我只能为我的所有客户端提供两个二进制文件(32位和64位)。 p>
有没有解决这个问题的方法?即有没有办法构建一个可以在多个PHP版本中运行的PHP扩展?
答案 0 :(得分:1)
也许你可以试试混合方法。分别编译C ++库,然后为此创建一个开源PHP扩展包装器。 PHP扩展几乎没有自己的逻辑。它将数据类型从PHP转换为C / C ++,并将参数传递给C ++库中实现的函数/方法。
然后,您只需在每个平台上维护一个二进制版本的库,并且通过开源PHP扩展来完成对特定PHP版本的采用。
这当然要求客户的系统确实安装了PHP开发包,以及编译器。