在 mac 上使用 PHP 安装 mcrypt
Posted
技术标签:
【中文标题】在 mac 上使用 PHP 安装 mcrypt【英文标题】:Installing mcrypt with PHP on mac 【发布时间】:2013-09-25 10:18:01 【问题描述】:我正在尝试在我的 Mac 上安装 php 的 mcrypt 扩展。
我使用 homebrew 命令安装它
brew install php53-mcrypt
这给了我一条消息说它已经安装:php53-mcrypt-5.3.26 already installed
但是,当我运行命令 php -m
时,我在列表中看不到 mcrypt(我已经重新启动了终端)。
编辑 1: 添加 php.ini.default 的 mcrypt 部分
在 php.ini.default 文件中,这是我关于 mcrypt 的部分
[mcrypt]
; For more information about mcrypt settings see http://php.net/mcrypt-module-open
; Directory where to load mcrypt algorithms
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.algorithms_dir=
; Directory where to load mcrypt modes
; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt)
;mcrypt.modes_dir=
【问题讨论】:
找出正在使用的php.ini
文件php -i
(以及任何其他配置文件)并确保启用了扩展
我在找什么?它输出大量数据
试试php -i | grep '\.ini'
。将结果粘贴到您的问题中
这是我得到的配置文件 (php.ini) 路径 => /etc 扫描此目录以获取其他 .ini 文件 =>(无)解析的其他 .ini 文件 =>(无)user_ini。文件名 => .user.ini => .user.ini
/etc/php.ini
中是否启用了扩展?您可能还想通过浏览器使用<?php phpinfo() ?>
文件进行检查。有时,CLI 和 web 模块使用不同的 php.ini
文件
【参考方案1】:
首先,找出php.ini
在哪里:
php -i | grep php.ini
然后你会看到类似这样的东西:
Configuration File (php.ini) Path => /usr/local/php/etc
Loaded Configuration File => /usr/local/etc/php54/php.ini
打开配置文件:
vim /usr/local/etc/php54/php.ini
搜索这个文件并检查你是否有这样的东西:
extension=mcrypt.so
将mcrypt.so
复制到extension_dir
,这也在php.ini 中指明。
或设置mcrypt.modes_dir
mcrypt.modes_dir=/usr/lib/libmcrypt.so
【讨论】:
我有这行; extension_dir = "ext"
所以,我在下面写extension = mcrypt.so
吗?
可以,可以设置extension_dir=/usr/local/php/lib/
,然后将mcrypt.so
复制到extension_dir
。
是的,它终于奏效了。我必须编写 mcrypt.so 的完整路径。 extension="/usr/local/Cellar/php53-mcrypt/5.3.26/mcrypt.so"
【参考方案2】:
Mac Mavericks 的更新指南:
http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/
【讨论】:
以上是关于在 mac 上使用 PHP 安装 mcrypt的主要内容,如果未能解决你的问题,请参考以下文章
从 PHP 5.2.8 源代码在 Mac OSX (10.5) 上安装 mcrypt 测试失败,我该怎么办?
在 Mac OS X 10.5.8 上为 PHP 安装 Mcrypt 扩展
在 Mountain Lion 上使用 Homebrew 安装 mcrypt 支持 php54 的问题