芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
7

Mac OS X Yosemite PHP 安装 mcrypt 扩展

作者 芒果/分类 教程/发布于 2014-10-27 23:40

下载 libmcrypt 最新版本:libmcrypt-2.5.8.tar.gz

在终端执行以下命令,编译并安装它:

tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
sudo make install

在终端执行以下命令,查看当前 Mac OS X 系统当前默认安装的 PHP 版本:

php -v

得到的结果可能是这样的:

PHP 5.5.14 (cli) (built: Sep 9 2014 19:09:25)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

Mac OS X 10.10 Yosemite  默认安装的 PHP 版本是 5.5.14,下载对应版本的源码 php-5.5.14.tar.gz

在终端执行以下命令:

tar zxvf php-5.5.14.tar.gz
cd php-5.5.14/ext/mcrypt
phpize
./configure
make
sudo make install

安装完成后,执行以下命令,检查下 mcrypt 扩展是否能够正常加载:

php -m

如果遇上扩展编译版本和 PHP 编译版本不符的情况,会看到如下错误提示:

PHP Warning:  PHP Startup: mcrypt: Unable to initialize module
Module compiled with module API=20100525
PHP    compiled with module API=20121212
These options need to match
 in Unknown on line 0

这个时候可能是因为 phpize 版本问题导致的,可以尝试:

sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include

然后重新编译安装 libmcrypt 和 mcrypt 扩展,如果仍然报版本不一致的问题,可能是由于 phpize 生成 configure 文件缓存导致的,可以尝试:

cd php-5.5.14/ext/mcrypt
phpize –-clean

接着再从头到位安装一遍,应该就没啥问题了。

版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/mac-os-x-yosemite-install-php-mcrypt-extension/" title="Mac OS X Yosemite PHP 安装 mcrypt 扩展" rel="bookmark">Mac OS X Yosemite PHP 安装 mcrypt 扩展 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 7 条群众意见

  1. dennis /2014-10-28 21:32

    一直遭遇
    PHP Warning: PHP Startup: mcrypt: Unable to initialize module
    Module compiled with module API=20100525
    PHP compiled with module API=20121212
    These options need to match
    in Unknown on line 0
    执行

    sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include
    然后重新编译安装 libmcrypt 和 mcrypt 扩展,如果仍然报版本不一致的问题,可能是由于 phpize 生成 configure 文件缓存导致的,可以尝试:

    cd php-5.5.14/ext/mcrypt
    phpize –-clean

    重新安装还是一样的问题,请教如何解决?谢谢! 回应

    #1
  2. dennis /2014-10-30 16:18

    终于找到问题, 我之前有 ln 过 10.9 的 sdk 造成。

    按照您的方法是 OK 的, 感谢! 回应

    #2
  3. cxdennis/2014-11-12 12:00

    楼上,ln过之后的解决方法是,删除后再ln吗? 回应

    #3
  4. 芒果cx/2014-11-18 11:32

    对,重新尝试 ln 回应

    #4
  5. michal /2014-12-13 17:39

    搞了一天,终于在这里解决了,太感谢了 回应

    #5
  6. 力登kvm /2014-12-15 14:51

    头像图片都挂了,抓紧修正下 回应

    #6
  7. zhoujz10芒果/2015-02-10 17:58

    您好,我也遇到了同样的问题,请问如何将原来的ln删除呢?谢谢您! 回应

    #7

下面我简单说几句