在 Mavericks (10.9) 上安装 mcrypt 库时遇到问题


Trouble Installing mcrypt library on Mavericks (10.9)

我能够在Mountain Lion上成功安装mcrypt扩展,但是在Mavericks上安装扩展时遇到了困难。

作为参考,我遵循本指南:http://www.coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/

我注意到的唯一不一致之处是,通过从命令行运行php -v,我显示的是PHP版本5.3.15 - 而Web服务器似乎正在运行5.4.17。 我下载了 5.4.17 来编译 mcrypt。

基本上,一切都按计划进行,直到最后。 /usr/lib/php/extensions/no-debug-non-zts-20100525,我没有将共享扩展安装到新目录中,而是收到一条消息,内容如下:

Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/

编辑:

问题似乎是Web服务器的PHP是使用模块API:20100525编译的,而系统仍在使用5.3.15(即API:20090626),因此出现了错误。

我假设您无法(轻松)更新 PHP 的系统版本。我需要做什么才能使模块和 PHP API 匹配?

提前感谢任何帮助。

供其他人找到此线程的参考。

这是适用于 10.8 和 10.9 的自动 Mcrypt 安装程序。http://topicdesk.com/downloads/mcrypt/mcrypt-download

以这种方式安装不到一分钟。

我注意到php 5.4.17位于/usr/bin中,5.3.15位于/usr/local/bin中,

所以我:

  • 在/usr/local/bin 中创建符号链接以在/usr/bin 中创建 phpize 和 php。
  • 在我确认phpize -v和php指向正确的版本后,只需重新编译mcrypt扩展即可。 这样做之后,扩展安装在正确的目录中:

Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20100525/

回想起来,我需要做的就是将/usr/bin 添加到我的路径变量中,以便它在/usr/local/bin 之前检查/usr/bin。