要调用自己写的 DLL 库,可以使用 PHP 的扩展机制进行加载和调用。下面是一个简单的示例:
首先,将编译好的 DLL 文件放置在合适的位置,例如 C:\php\ext
目录下。
打开 PHP 的配置文件 php.ini
(在 C:\php
目录下),找到以下两行代码并取消注释:
; extension_dir = "ext"
; extension=php_[your_dll_name].dll
将 extension_dir
的值改为 DLL 文件所在的路径,如 extension_dir = "C:\php\ext"
,将 extension
的值改为 DLL 文件的名称,如 extension=php_mylib.dll
。
保存并关闭 php.ini
文件。
重启 Web 服务器(例如 Apache)或者命令行窗口(如果是通过命令行运行 PHP 脚本)。
在 PHP 代码中使用 extension_loaded
函数来检查 DLL 是否已经加载:
if (!extension_loaded('mylib')) {
echo 'DLL 未加载';
exit;
}
使用 dl
函数来动态加载 DLL:
if (!extension_loaded('mylib')) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
dl('php_mylib.dll');
} else {
dl('mylib.so');
}
}
注意:在 PHP 7.2 及以上版本中,dl
函数已被废弃,不推荐使用。如果你使用的是这些版本,可以尝试使用 ffi
扩展来调用 DLL。
调用 DLL 中的函数或方法:
$result = mylib_function($arg1, $arg2, ...);
这里的 mylib_function
是你在 DLL 中定义的函数或方法名,$arg1, $arg2, ...
是传递给函数或方法的参数。
请注意,使用自己编写的 DLL 库需要具备一定的 C/C++ 编程知识,以及理解如何在 PHP 中导出和调用函数。这里提供的是一个简化的示例,具体实现可能因环境和需求而异。