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

Posted

技术标签:

【中文标题】在 Mavericks (10.9) 上安装 mcrypt 库时遇到问题【英文标题】:Trouble Installing mcrypt library on Mavericks (10.9) 【发布时间】:2013-11-12 06:46:30 【问题描述】:

我能够在 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 匹配?

提前感谢您的帮助。

【问题讨论】:

【参考方案1】:

我注意到 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。

【讨论】:

【参考方案2】:

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

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

这样安装不到一分钟。

【讨论】:

@Philip007 在安装之前,您必须有 php.ini。 sudo cp /etc/php.ini.default /etc/php.ini

以上是关于在 Mavericks (10.9) 上安装 mcrypt 库时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

在 OS X 10.9 (Mavericks) 上安装 Java

在 OS X Mavericks 10.9 上安装 apache 2.4

Aspell 不会在 OS X 10.9 (Mavericks) 上构建

pip 在 Mac OS X Mavericks (10.9) 上引发 stdio.h not found 错误

如何在 OS X 10.9 (Mavericks) 上使用 GDB 而不是 LLDB 调试 ELF 文件?

OS X 10.9 Mavericks - 使用虚拟主机设置本地主机