我有一个静态链接的.so我应该可以从中调用一个函数,它的第一个参数是要处理的数据的内存地址。我有一个用Pascal编写的示例调用程序,但我想知道的是,是否可以从PHP调用此库函数?如果是这样,怎么样? 注意:这个.so不是作为PHP扩展名编写的
答案 0 :(得分:1)
由于我想要使用的库不是作为PHP扩展编写的,我必须在C中编写一个包装器扩展,创建一个PHP方法,该方法接受PHP参数并在转换后使用参数调用库函数(例如使用指针作为内存地址。)
答案 1 :(得分:0)
要在运行时加载PHP扩展,请使用dl()函数。
if (!extension_loaded('myextension')) {
dl('myextension.so');
}
然后,您应该能够使用该库中的对象/函数。
要记住的另一件事是需要启用php.ini中的 enable_dl 指令。