看起来 Homebrew 核心仓库不直接提供 php-imagick。你有几种解决方案:
---
方案一:通过 PECL 安装(推荐)
1. 安装 ImageMagick 依赖
brew install imagemagick
2. 使用 PECL 安装 PHP 扩展
pecl install imagick
3. 启用扩展
安装完成后,编辑你的php.ini 文件:
php --ini # 查找配置文件路径
sudo nano /usr/local/etc/php/8.3/php.ini # 根据实际版本修改路径
在文件中添加或取消注释:
extension=imagick.so
4. 重启 PHP 服务
brew services restart php
---
方案二:通过 shivammathur/extensions tap 安装
根据你的日志,你似乎已经添加了这个 tap。可以试试:
1. 查看你的 PHP 版本
php -v
# 输出类似:PHP 8.3.x 或 PHP 8.4.x
2. 安装对应版本的 imagick
# 对于 PHP 8.3
brew install shivammathur/extensions/imagick@8.3
# 对于 PHP 8.4
brew install shivammathur/extensions/imagick@8.4
3. 重启服务
brew services restart php
---
快速验证
安装完成后,验证是否成功:
php -m | grep imagick
# 应该输出: imagick
php -i | grep imagick
# 应该显示 imagick 模块信息
---
处理内存限制问题
Imagick 安装成功后,别忘了同时配置内存限制(在 php.ini 中):
memory_limit = 1024M
然后重启 PHP 服务:
brew services restart php
---
重新运行脚本
全部配置完成后,再次执行:
php pdf2html.php --extract-text /tmp/机器学习.pdf /tmp/output
注意:如果 pecl 命令找不到,先安装命令行工具:
xcode-select --install
选择一种方案操作即可,推荐 方案一(PECL 安装),这是最标准的方式。