3

我正在尝试安装 mcrypt 以在我的本地机器开发环境中使用。我需要这个来安装 Magento。

我使用此答案安装 mcrypt,但收到以下错误:

$ brew link mcrypt
Linking /usr/local/Cellar/mcrypt/2.5.8... Warning: Could not link mcrypt. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/mcrypt/2.5.8/include/mutils/mcrypt.h
Target /usr/local/include/mutils/mcrypt.h already exists. You may need to delete it.
To force the link and delete this file, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name

尝试按照不允许的建议覆盖链接。

$ brew link --overwrite mcrypt
Linking /usr/local/Cellar/mcrypt/2.5.8... Warning: Could not link mcrypt. Unlinking...

Error: Permission denied - /usr/local/include/mutils/mcrypt.h

在此命令前面加上“sudo”并不能解决此问题,因为这也是不允许的。

运行php -m不会将 mcrypt 显示为已安装的模块,并且还会引发以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20100525/mcrypt.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20100525/mcrypt.so, 9): image not found in Unknown on line 0 

这一切似乎都与我无法链接这个事实有关,但我似乎无法解决这个问题。有没有人遇到过这个?感谢您的任何帮助,您可以提供。

4

2 回答 2

3

我实际上只是第二次遇到这个问题。不记得我第一次是如何解决的。这次对我有用的是我实际上删除了 mutils 下的 mcrypt.h 文件。然后当我运行brew link --overwrite mcrypt它成功链接。然后我跑了brew install php53-mcrypt,这似乎成功了。同时重启服务器。

如果这对每个人都不起作用,但对我有用,我不会感到惊讶。

于 2013-10-25T16:35:11.877 回答
3

Thomas,从我在上面看到的情况来看,您似乎正在尝试使用 Homebrew 将mcrypt软件包安装到您的系统,但mcrypt已经由另一个软件包管理系统安装(或者可能默认在您的 OS X 版本中提供 - 我不要跟上这些事情)

由于 mcrypt 已经安装在您的*nix系统上,您需要做的是为 mycrypt 安装PHP 扩展,或者安装支持 mcrypt 的 PHP 版本。

我通常的做法是使用hp-osx.liip.ch包(它似乎是 Marc Liyanage 旧entropy.ch包的继承者)。这会将 PHP 的独立版本安装为二进制文件,并且应该具有运行 Magento 所需的库。

于 2013-04-12T20:10:19.520 回答