在Mac上通过PECL安装PHP imagick

3

我正在尝试在运行High Sierra 10.13.5的Mac上安装PHP Imagick扩展。

我已经通过brew安装了PHP 7.2,并安装了PEAR 1.10.5。当我尝试使用sudo pecl install imagick安装Imagick时,出现以下错误:

Build process completed successfully
Installing '/usr/include/php/ext/imagick/php_imagick_shared.h'
ERROR: failed to mkdir /usr/include/php/ext/imagick

看起来我遇到了Mac权限问题,安装目录应该在/usr/local,但是我不知道如何更改。有什么想法可以解决这个问题吗?


请看这里,其中一个答案可能与您的问题相关。 - YvesLeBorg
2
请看这里 https://dev59.com/Z1UL5IYBdhLWcg3wopMM#50529784 - Mark Setchell
我查看了 show-config 并将所有指向 /usr 的目录更改为 /usr/local,但似乎没有帮助。它仍然试图将头文件复制到 /usr/include - Simon
作为参考:我在运行pecl install xdebug时遇到了同样的问题,但第二次运行相同的命令(两次都不使用sudo)意外地解决了这个问题。 - Y. E.
1个回答

3
最终我需要的是 PHP 7.1 而不是 7.2,但我遇到了相同的问题。
不确定我采取的所有步骤是否都是必要的,但是这是我解决问题的方法:
  • 使用 php-config 命令获取当前的 PHP 扩展目录
  • 将该目录下的所有内容(在我的情况下是 /usr/lib/php/extensions/no-debug-non-zts-20160303)复制到 /usr/local 目录下的等效目录中,因此在我的情况下是 /usr/local/lib/php/extensions/no-debug-non-zts-20160303
  • 更新 php.ini 并将 extensions_dir 设置为 /usr/local 中的新目录
  • 进入 pecl 错误的构建目录并找到 imagick tgz
  • 解压并进入创建的目录
  • 作为 root 用户:
    • 运行 ./phpize
    • 运行 ./configure
    • 运行 make
    • 编辑 Makefile 并更改包含目录为 /usr/local 的等效目录。
    • 运行 make install
  • 编辑 php.ini 并在扩展部分添加 imagick.so
现在似乎已经可以正常工作了,但这可能不是最简单的安装方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接