什么是在PHP中加载DLL的最佳方法?

我正在开发一个在服务器端使用CakePHP的Web应用程序,我需要使用由第三方提供的DLL来访问他们的平台,所以我没有DLL的源代码,我不能修改它。 我已经搜查了这个,我还没有find一个简单的方法来做到这一点。

什么是在PHP中加载DLL的最佳方法?

我应该build立一个PHP扩展,作为第三方DLL包装?

还有其他方法吗?

提前致谢。

UPDATE

我发现我可以使用DLL作为COM对象,但我需要在Windows上注册DLL,每当客户端需要部署服务器,我想一个解决scheme,不涉及注册DLL。

UPDATE

我试图注册的DLL,但我得到一个错误(“入口点DllRegisterServer没有find”),这意味着它可能不被编译为一个COM对象。 我认为唯一的select是创build一个C / C ++ php扩展,封装dll或创build一个C ++ / C#COM对象,封装dll并使用DOTNET php扩展。

我结束了实现一个.NET COM可见包装的DLL,我导入的DLL函数是这样的:

 [DllImport("dapi.dll", EntryPoint = "#100", PreserveSig = false, CallingConvention = CallingConvention.StdCall)] public static extern Idapi CreateDapi(); 

我使用cmd中的regasm.exe实用程序将Wrapper注册为COM对象:

 regasm /codebase dapiWrapper.dll 

并在PHP中,我像这样instanciated COM对象:

 $this->dapiCom = new COM("DapiWrapper.DapiWrapper") or die("Error");