在OSX 10.8.2 - PHP 5.3.15上安装mcrypt


Installing mcrypt on OSX 10.8.2 - PHP 5.3.15 with homebrew

我已经通过homebrew成功安装了mcrypt,但我正在努力寻找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

我试图在php.ini中包含mcrypt.h:

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

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

第二个安装mcrypt基于php版本:
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

经过几个小时的思考,通过不同的建议,这个为我工作(通过MacPorts安装):

Chris Brewer提供:

http://macports.org.下载并安装MacPorts

在终端中执行以下步骤:

强制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以添加扩展。找到短语Dynamic Extensions,并添加:

extension=mcrypt.so

最后,重新启动Apache:

sudo apachectl restart

我已经解决了这个问题

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)

我非常感谢您为此所做的工作!这对我很有效。我在mac上,它正在寻找xcode。开发者位置没有设置,所以我必须做所有这些。

(解析开发者路径)如何解决"错误:在/developer &quot中找不到开发人员目录"?

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

(签署使用XCODE的协议)

sudo xcodebuild -license

最后按照上面的步骤!

这可能是有用的…

  1. brew tap homebrew/homebrew-php
  2. 安装php56-mcrypt

这简直是小菜一碟。

$ 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