php - VSCode 的 intelephense 中未定义的类型“Imagick”
问题描述
我遇到了一个问题,我通过 Pecl 安装了 Imagick,而 Intelephense 不知道如何处理该扩展,并且即使该扩展已正确安装在 php.ini 文件中并且工作正常,也无法显示任何代码完成。
一些屏幕截图使您更清楚:
- 使用 Imagick 的代码
- Bash 输出显示 imagick 扩展安装在 php.ini 中:
ddruganov@MBP-Demid:~$ php -i | grep imagick
imagick
imagick module => enabled
imagick module version => 3.4.4
imagick classes => Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel
imagick.locale_fix => 0 => 0
imagick.progress_monitor => 0 => 0
imagick.skip_version_check => 0 => 0
- 显示扩展所在位置的 Bash 输出:
ddruganov@MBP-Demid:~$ mdfind imagick.so
/usr/local/lib/php/pecl/20190902/imagick.so
解决方案
原来 intelephense 只是没有被配置为知道这个扩展是什么。
解决方案非常简单:
- 转到 VSCode 中的 Intelephense 扩展设置
- 转到名为“Intelephense:存根”的设置
- 添加一个名为“imagick”的新项目
- 保存并关闭设置(尽管我相信它们会
自动保存) - 完毕
完成所有这些之后,Intelephense 会显示有关 Imagick 的所有信息,并且自动完成工作就好了:证明
希望这对某人有帮助!
推荐阅读
- python - Django 正则表达式验证器不工作 - 错误 500 部署服务器
- php - 在 Symfony 4/5 中安装 orm-fixtures 时 Composer 冲突
- dart - “?”是什么意思?在方法“字符串子字符串(int startIndex,[int?endIndex]);” 在飞镖;
- javascript - 对受 htpasswd 保护的后端的 Ionic GET 请求
- forms - ionic 4 - 使用 segmets 进行离子选择或在选项之间引入标签
- java - 照片未上传,因为尚未在数据库中,如何覆盖?
- libreoffice-calc - 有没有办法配置 Libreoffice,以便引用空单元格的单元格也显示一个空单元格?
- reactjs - Material-UI - 在DataTable中获取数据显示=>“React.useState”不能在回调中调用
- java - 如何扫描所有目录并获取在kotlin中以给定扩展名结尾的文件名和路径列表
- security - 在一个简单的程序中重命名本地绝对文件路径并上传到 github,这样没人知道我的目录,这有关系吗?