首页 > 解决方案 > 在 Windows 上无法识别 PHP 扩展(使用 PHP 7.4)

问题描述

我的 PHP 项目需要 Event 库。主要项目在树莓派上运行,但我正在我的 Windows PC 上完全编写和测试代码。为了运行 PHP 代码,我使用 XAMPP。

我试图在我的代码中导入事件扩展,但在命令窗口中,我不断收到相同的错误:

D:\xamd server\php>php.exe -i
PHP Warning:  PHP Startup: Unable to load dynamic library 'event' (tried: D:\xamd server\php\ext\event (The specified module could not be found.), D:\xamd server\php\ext\php_event.dll (The specified module could not be found.)) in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library 'event' (tried: D:\xamd server\php\ext\event (The specified module could not be found.), D:\xamd server\php\ext\php_event.dll (The specified module could not be found.)) in Unknown on line 0
phpinfo()
PHP Version => 7.4.12

我认为这个错误很奇怪,因为在这个链接上不能正常工作的文件应该在那里:

我还在一些不同的文件夹中添加了这个文件,比如 system32 和 apache\bin ,但这些都没有帮助。我从https://pecl.php.net/package/event/3.0.7RC1/windows下载了扩展名:“7.4 Thread Safe (TS) x64”,这应该是我的 PHP 版本的正确扩展名。

我还编辑了 php.ini 文件以将此扩展名添加到库中。

我可能忘记了一步,但我不知道是什么。如果有人可以帮助我解决这个问题,那就太好了。

标签: phpeventspecl

解决方案


如果扩展 DLL 是为不同版本的 PHP 编译的,则会显示相同的错误。

使用 Windows 资源管理器,右键单击 DLL 并选择属性,然后选择详细信息。检查产品版本值。

实际问题是 PHP 扩展有一个 API 版本,例如20200930。API 版本必须与 PHP 和扩展匹配。CLI 命令php -i | grep API将显示此信息。


推荐阅读