php - 在 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 文件以将此扩展名添加到库中。
我可能忘记了一步,但我不知道是什么。如果有人可以帮助我解决这个问题,那就太好了。
解决方案
如果扩展 DLL 是为不同版本的 PHP 编译的,则会显示相同的错误。
使用 Windows 资源管理器,右键单击 DLL 并选择属性,然后选择详细信息。检查产品版本值。
实际问题是 PHP 扩展有一个 API 版本,例如20200930。API 版本必须与 PHP 和扩展匹配。CLI 命令php -i | grep API将显示此信息。
推荐阅读
- node.js - 如何正确链接所有涉及 mongo 数据库的 Promise
- javascript - 为什么这个生成器返回 PI 而不是 0?
- jquery - 如何调整 datatimepicker 弹出位置?模态中的日期时间选择器
- ruby-on-rails - Collection_Select 不响应 Input_HTML:{Multiple:True}
- mysql - 带有 CASE 的 WHERE 子句无法识别第二种情况条件
- r - 使用 lapply 和 purrr::map 索引变量
- php - 如何找到自定义的 php 函数
- node.js - 使用 NodeJS 和 Puppeteer 随机点击 Google 搜索结果?
- nginx - Vagrant:config.vm.provision 不允许我将文件复制到 etc/nginx/conf.d?
- javascript - 将 Facebook json 文件序列(如 \u00f0\u009f\u0098\u008a)转换为表情符号字符