你可以将你的库打包成DLL吗?如果是这样,你可以通过PHP的COM api调用它们.
PHP COM Docs:http: //us3.php.net/manual/en/book.com.php
示例代码:
<?php
$com = new COM("DynamicWrapper");
$com->Register("KERNEL32", "Beep", "i=ll", "f=s", "r=l");
$com->Beep(800, 10);
Run Code Online (Sandbox Code Playgroud)
否则,您可以编写包含自定义包装函数的扩展(即execute_through_wrapper('yourfunc')).这是一篇关于在C中编写php函数的文档.
http://php.net/manual/en/internals2.funcs.php
编辑:http :
//abhinavsingh.com/blog/2008/12/php-extensions-how-and-why/
这是一个关于在C中编写扩展的快速教程.编写包装函数应该不会太困难.创建扩展后,可以通过动态加载dl()(非常危险和折旧).
http://us2.php.net/manual/en/function.dl.php
这些是您的唯一选择.dll加载器没有linux等价物(.so loader)(与win32相关的api调用).