我已经通过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 "中找不到开发人员目录"?
- sudo xcode-select -switch/Applications/Xcode.app/Contents/Developer
(签署使用XCODE的协议)
- sudo xcodebuild -license
最后按照上面的步骤!
这可能是有用的…
- brew tap homebrew/homebrew-php 安装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