3

我有一个静态链接的 .so 我应该能够从中调用一个函数,它的第一个参数是要处理的数据的内存地址。我有一个用 Pascal 编写的示例调用程序,但我想知道的是,是否可以从 PHP 调用这个库函数?如果是这样,怎么做?注意:这个 .so 不是作为 PHP 扩展编写的

4

2 回答 2

1

由于我想使用的库不是作为 PHP 扩展编写的,所以我不得不用 C 编写一个包装扩展,创建一个 PHP 方法,该方法接受 PHP 参数并在转换后使用参数调用库函数(例如使用指针为内存地址)。

于 2014-12-16T19:26:07.160 回答
0

要在运行时加载 PHP 扩展,请使用dl()函数。

if (!extension_loaded('myextension')) {
   dl('myextension.so');
}

然后,您应该能够使用该库中的对象/函数。

要记住的另一件事是需要启用 php.ini 中的enable_dl指令。

于 2012-12-10T18:06:27.380 回答