17

我已经mcrypt通过成功安装,homebrew但我很难找到将mcrypt.so其作为扩展名包含在php.ini.

mcrypt 安装在/usr/local/Cellar/mcrypt/2.5.8. 树:

-- AUTHORS
|-- ChangeLog
|-- INSTALL_RECEIPT.json
|-- NEWS
|-- README
|-- TODO
|-- bin
|   `-- libmcrypt-config
|-- include
|   |-- mcrypt.h
|   `-- mutils
|       `-- mcrypt.h
|-- lib
|   |-- libmcrypt.4.4.8.dylib
|   |-- libmcrypt.4.dylib -> libmcrypt.4.4.8.dylib
|   `-- libmcrypt.dylib -> libmcrypt.4.4.8.dylib
`-- share
    |-- aclocal
    |   `-- libmcrypt.m4
    `-- man
        `-- man3
            `-- mcrypt.3

我试图包括mcrypt.hphp.ini

extension="/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h"

然后重新启动apache。但它没有用。

当我在终端中运行 php 时,我得到:

PHP Warning:  PHP Startup: Unable to load dynamic library
'/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h' - dlopen(/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h, 9): 
image not found in Unknown on line 0
4

6 回答 6

48

首先检查 brew 是否是最新的:
brew doctor

二、根据php版本安装mcrypt:
brew install php53-mcrypt

注意:最近版本的 brew 不需要下面的第三步:

第三次打开 php.ini 文件并添加引用:
sudo vi /private/etc/php.ini
extension="/usr/local/Cellar/php53-mcrypt/5.3.25/mcrypt.so"

最后重启apache:
sudo apachectl restart

于 2013-05-23T19:34:42.400 回答
22

在通过不同的建议思考了几个小时之后,这个对我有用(通过 MacPorts 安装):

Chris Brewer提供:

从以下位置下载并安装 MacPortshttp://macports.org.

在终端中执行以下步骤:

强制 MacPorts 更新(仅在安装 Apple 的 Xcode 时才有效):

sudo port -v selfupdate

现在,安装 memcached:

sudo port install php5-mcrypt

将新创建的 mcrypt 共享对象复制到 Mac OS X 的默认 PHP5 扩展目录中:

sudo cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

接下来,您需要编辑 php.ini 以添加扩展。找到短语动态扩展,并添加:

extension=mcrypt.so

最后,重新启动 Apache:

sudo apachectl restart

于 2013-01-16T13:24:28.730 回答
9

我已经解决了这个问题

brew install php54-mcrypt --without-homebrew-php

然后我将此行添加到/etc/php.ini.

extension="/usr/local/Cellar/php54-mcrypt/5.4.24/mcrypt.so"

如果此文件不存在,您需要从/etc/php.ini.default. 我还检查了我的 php 版本php -v(它是 5.4.x)

于 2014-02-06T00:50:19.277 回答
0

我很欣赏你在这方面所做的工作!这对我有用。我在 Mac 上,它正在寻找 xcode。开发人员位置尚未设置,因此我必须完成所有这些工作。

(解决开发人员路径) 如何解决“错误:在 /Developer 找不到开发人员目录”?

  1. sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

(签署使用 XCODE 的协议)

  1. sudo xcodebuild -license

最后按照上面的步骤!

于 2013-05-16T02:34:47.800 回答
0

与此一起工作就像小菜一碟。

$ brew install mcrypt
Warning: mcrypt-2.6.8 already installed
$ brew install php55-mcrypt
Warning: php55-mcrypt-5.5.20 already installed

然后测试一下:

$ php -m | grep mcrypt
mcrypt

$ php -i | grep mcrypt
Additional .ini files parsed => /usr/local/etc/php/5.5/conf.d/ext-mcrypt.ini,
Registered Stream Filters => zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value
于 2015-05-23T06:31:01.520 回答
0

这可能被证明是有用的......

  1. brew tap homebrew/homebrew-php
  2. 冲泡安装 php56-mcrypt
于 2015-10-11T08:47:37.933 回答