在OSX 10.8.2上安装mcrypt - 使用自制软件安装PHP 5.3.15

Mat*_*nya 17 php mcrypt

我已经成功安装了mcryptvia,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
Run Code Online (Sandbox Code Playgroud)

我想包括mcrypt.hphp.ini:

extension="/usr/local/Cellar/mcrypt/2.5.8/include/mcrypt.h"
Run Code Online (Sandbox Code Playgroud)

然后重新启动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
Run Code Online (Sandbox Code Playgroud)

小智 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

  • 今天使用最新版本的软件只需要"brew install php56-mcrypt". (4认同)
  • 对于试图只使用自制软件的人来说这很有用. (2认同)
  • 当我做'brew install php53-mcrypt`时,brew告诉我它没找到,但提到了'tap'.所以我做了'brew tap josegonzalez/php`来添加那个水龙头,然后再次运行`brew install php53-mcrypt`,它安装了一堆东西,但最终起作用了. (2认同)

Mat*_*nya 22

通过不同的建议想了几个小时后,这个为我工作(通过MacPorts安装):

Chris Brewer提供:

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

终端中执行以下步骤:

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

sudo port -v selfupdate
Run Code Online (Sandbox Code Playgroud)

现在,安装memcached:

sudo port install php5-mcrypt
Run Code Online (Sandbox Code Playgroud)

将新创建的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/
Run Code Online (Sandbox Code Playgroud)

接下来,您需要编辑php.ini以添加扩展.找到这个短语Dynamic Extensions,并添加:

extension=mcrypt.so
Run Code Online (Sandbox Code Playgroud)

最后,重启Apache:

sudo apachectl restart


mar*_*ise 9

我用这个解决了这个问题

brew install php54-mcrypt --without-homebrew-php
Run Code Online (Sandbox Code Playgroud)

然后我添加这一行/etc/php.ini.

extension="/usr/local/Cellar/php54-mcrypt/5.4.24/mcrypt.so"
Run Code Online (Sandbox Code Playgroud)

如果此文件不存在,则需要从中复制/etc/php.ini.default.另外,我检查我的PHP版本php -v(它是5.4.x)

  • 这就是我所需要的.首先必须这样做:brew tap josegonzalez/php (2认同)