【问题标题】:Installing PHP imagick through PECL on Mac在 Mac 上通过 PECL 安装 PHP imagick
【发布时间】:2018-11-28 05:21:55
【问题描述】:

我正在尝试在装有 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

看起来我正在访问安装目录应该在/usr/local 中的 Mac 权限,但我不知道如何更改它。任何想法如何解决这个问题?

【问题讨论】:

  • here,其中一个答案可能与您的问题有关。
  • 我查看了show-config 并将所有指向/usr 的目录更改为/usr/local,但它似乎没有任何帮助。它仍在尝试将头文件复制到/usr/include
  • 作为参考:我在运行 pecl install xdebug 时遇到了同样的问题,但在第二次运行相同的命令时意外修复了它(两次都没有 sudo)。

标签: php macos imagick pecl


【解决方案1】:

最后我需要的是 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错误进入build目录,找到imagick tgz
  • 解压后进入创建的目录
  • 作为根:
    • 运行./phpize
    • 运行./configure
    • 运行make
    • 编辑 makefile 并将包含目录更改为 /usr/local 等效目录。
    • 运行make install
  • 编辑 php.ini 并将 imagick.so 添加到扩展部分

它现在似乎对我有用,但这可能不是安装它的最简单方法。

【讨论】:

    猜你喜欢
    • 2011-12-29
    • 2015-05-28
    • 1970-01-01
    • 2019-11-27
    • 1970-01-01
    • 2011-07-29
    • 2023-01-24
    • 1970-01-01
    • 2012-03-20
    相关资源
    最近更新 更多