1. 安装:ImageMagick:
命令:brew install ImageMagick
这种方式安装下来的imageMagic,不缺少东西,报错较少。安装之后的位置:/usr/local/Cellar/imagemagick/

2. 安装php扩展imagick
下载:wget https://pecl.php.net/get/imagick-3.4.3.tgz
解压:sudo tar -zxvf imagick-3.4.3
安装:

cd imagick-3.4.
sudo /usr/bin/phpize
export PKG_CONFIG_PATH=/usr/local/Cellar/imagemagick/7.0.-12_1/lib/pkgconfig
sudo ./configure --with-php-config=/usr/bin/php-config --with-imagick=/usr/local/Cellar/imagemagick/7.0.-12_1
sudo make
sudo make install

安装环境的报错
(1)pcre.h文件找不到

/usr/include/php/ext/pcre/php_pcre.h::: fatal error: 'pcre.h' file not found
#include "pcre.h"
^
error generated.
make: *** [swoole.lo] Error

解决方式:brew install pcre

(2)Operation not permitted, no-debug-non-zts

Installing shared extensions:     /usr/lib/php/extensions/no-debug-non-zts-/
cp: /usr/lib/php/extensions/no-debug-non-zts-/#INST@#: Operation not permitted
make: *** [install-modules] Error

原因:
原来是OSX 10.11 El Capitan(或更高)新添加了一个新的安全机制叫系统完整性保护System Integrity Protection (SIP),所以对于目录
/System
/sbin
/usr
不包含(/usr/local/)
仅仅供系统使用,其它用户或者程序无法直接使用,而我们的/usr/lib/php/extensions/刚好在受保护范围内

解决方式:禁掉SIP保护机制,步骤是:

重启系统
按住Command + R (重新亮屏之后就开始按,象征地按几秒再松开,出现苹果标志,ok)
菜单“实用工具” ==>> “终端” ==>> 输入csrutil disable;执行后会输出:Successfully disabled System Integrity Protection. Please restart the machine for the changes to take effect.
再次重启系统
禁止掉SIP后,就可以顺利的安装了,当然装完了以后你可以重新打开SIP,方法同上,只是命令是csrutil enable

最后,在php.ini中加入扩展:

extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20160303"
extension=imagick.so

mac PHP安装imageMagic扩展的更多相关文章

  1. <亲测好使>mac os 安装mcrypt扩展

    以前安装opencart的时候倒是不需要mcrypt 这个库.但是新版本需要了.加上自己的 是mac环境.当时闲麻烦,就一直没装.这次下午就寻思给装上吧! 1.首先你要先安装xcode这个工具.不然没 ...

  2. Mac入门--安装PHP扩展redis,swoole

    1 php7以下可以通过pecl安装PHP扩展 安装redis扩展 pecl install redis 安装swoole扩展 pecl install swoole 2 PHP7以上通过源码编译安装 ...

  3. Mac OS安装php-redis扩展

    下载php-redis(用于php5.x的版本),地址:https://nodeload.github.com/nicolasff/phpredis/zip/master. 如果是php7.2,选择p ...

  4. mac osx 安装redis扩展

    1 php -v查看php版本 2 brew search php|grep redis 搜索对应的redis   ps:如果没有brew 就根据http://brew.sh安装 3 brew ins ...

  5. mac brew 安装php扩展报错:parent directory is world writable but not sticky

    $ brew install php70-mcrypt 报错: Error: parent directory is world writable but not sticky 搜索到github的答 ...

  6. mac里安装Mycrypt扩展

    https://jingyan.baidu.com/article/e3c78d644cf1ed3c4c85f5a8.html 先用homebrew安装mycrpt 再下载php5.6版本源码 然后进 ...

  7. mac 下 安装php扩展 - mcrypt

    由于自带的libmcrypt 可能版本低 另外通过brew安装的也不管用得去下载libmcrypt后编译安装 tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt- ...

  8. mac 下安装mcrypt 扩展

    参考: http://coolestguidesontheplanet.com/how-to-install-mcrypt-for-php-on-mac-osx-lion-10-7-developme ...

  9. Mac下安装php-memcached扩展

    [libmemcached安装] libmemcached可以通过直接下载后解压也可以采用wget下载 先下载libmemcached:方式一:libmemcached下载地址:https://lau ...

随机推荐

  1. PAT-2019年冬季考试-乙级(题解)

    很荣幸这次能够参加乙级考试,和大佬们同台竞技了一次,这篇博客,进行介绍这次2019冬季的乙级考试题解. 7-1 2019数列 (15分) 把 2019 各个数位上的数字 2.0.1.9 作为一个数列的 ...

  2. 第五次个人作业——Alpha测试

    这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求 团队名称 巧克力王子与六个小矮人 一.测试项目博客地址 项目名 团队名 博客地址 项目发布地址 西柚排课王 西柚排课王 https://w ...

  3. java容器三:HashMap源码解析

    前言:Map接口 map是一个存储键值对的集合,实现了Map接口的主要类有以下几种 TreeMap:用红黑树实现 HashMap:数组和链表实现 HashTable:与HashMap类似,但是线程安全 ...

  4. [转]Linux网络 - 数据包的发送过程

    转, 原文:https://segmentfault.com/a/1190000008926093 -------------------------------------------------- ...

  5. JDK5不定参数方法

    jdk5之后出现了调用方法时传递不定参数的情况,如下所示: List<Intrger> list1 = Arrays.asList(new Integer[]{1,2,3}); List& ...

  6. C语言二级指针间接赋值

    重要意义:间接赋值的意义,实现了模块的功能划分,实现了软件作品的分层,使得模块接口和信息系统得以实现. 所谓二级指针就是指向指针的指针,其声明形式如下 int *p=NULL int **p1=NUL ...

  7. UWB DWM1000 开源项目框架 之 温度采集

    在之前博文开源一套uwb 框架,后面几篇博文会基于这个开源框架进行简单开发. 让uwb使用者更清楚了解基于这个basecode 开发工作. 这里所做内容是,采集dwm1000 温度,并发送到另一个节点 ...

  8. [TypeScript] Modifier

    TypeScript 2.8 adds the ability for a mapped type to either add or remove a particular modifier. Spe ...

  9. 洛谷 P2279 [HNOI2003]消防局的设立 题解

    每日一题 day34 打卡 Analysis 这道题的正解本来是树形dp,但要设5个状态,太麻烦了.于是我就用贪心试图做出此题,没想到还真做出来了. 考虑当前深度最大的叶子结点,你肯定要有一个消防局去 ...

  10. Memcached 与 Redis 区别

    一.问题:     数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求.   二.解决方案:      1.通过高速服务器Cache缓存数据库数据      2.内存数据库     ( ...