Problems with installing mcrypt support for php54 using Homebrew on Mountain Lion

13,665

Well, after much trial and error, I solved the issue.

I first had to uninstall php54-mcrypt again to remove the --without-homebrew-php flag and reinstall it with support for the php version installed by homebrew.

$ brew uninstall php54-mcrypt
Uninstalling /usr/local/Cellar/php54-mcrypt/5.4.11...
$ brew install php54-mcrypt
...
==> Summary
🍺  /usr/local/Cellar/php54-mcrypt/5.4.11: 3 files, 56K, built in 33 seconds

Then, I edited my httpd.conf file and changed the location of php. I just commented out the system PHP and added a new line to the LoadModule directives to the PHP installed through Homebrew.

#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so

I then installed phpmyadmin through Homebrew with

brew install phpmyadmin

Then I added the following to the bottom of httpd.conf

Alias /phpmyadmin /usr/local/share/phpmyadmin
    <Directory /usr/local/share/phpmyadmin/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

I made any changes I need to make in the homebrew installed php.ini located at /usr/local/etc/php/5.4/php.ini and modified the configuration file for phpmyadmin located in /usr/local/share/phpmyadmin/config.inc.php.

I then restarted apache using sudo apachectl restart

All is good to go!

Share:
13,665

Related videos on Youtube

Ali Samii
Author by

Ali Samii

Team leader in managing the development team for my company on a strategic level. I'm a novice programmer with a lot of enthusiasm and a desire to become better.

Updated on September 15, 2022

Comments

  • Ali Samii
    Ali Samii over 1 year

    I am trying to install mcrypt support in php 5.4.11 on Mountain Lion using Homebrew and I am getting problems I cannot resolve.

    I had already manually installed PHP 5.4.11 on my Mac. mcrypt had been previously installed using Homebrew.

    When I would load phpMyAdmin, it would tell me that mcrypt is not enabled.

    So, searching google, I realised that somehow, mcrypt was not being loaded as there was no reference to it when I loaded my phpinfo file.

    @DavidYell in a response to another question, Installing mcrypt extension for PHP on OSX Mountain Lion suggested the following fix

    brew install mcrypt php53-mcrypt

    Below is the result of my issuing the command:

    $ brew install mcrypt php54-mcrypt
    Error: mcrypt-2.5.8 already installed
    ==> Installing php54-mcrypt dependency: autoconf
    ==> Downloading http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
    ######################################################################## 100.0%
    ==> ./configure --prefix=/usr/local/Cellar/autoconf/2.69
    ==> make install
    🍺  /usr/local/Cellar/autoconf/2.69: 69 files, 2.0M, built in 29 seconds
    ==> Installing php54-mcrypt dependency: freetype
    ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/freetype-2.4.10.mountainlion.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring freetype-2.4.10.mountainlion.bottle.tar.gz
    🍺  /usr/local/Cellar/freetype/2.4.10: 56 files, 2.5M
    ==> Installing php54-mcrypt dependency: gettext
    ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/gettext-0.18.2.mountain_lion.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring gettext-0.18.2.mountain_lion.bottle.tar.gz
    ==> Caveats
    This formula is keg-only: so it was not symlinked into /usr/local.
    
    OS X provides the BSD gettext library and some software gets confused if both are in the library path.
    
    Generally there are no consequences of this for you. If you build your
    own software and it requires this formula, you'll need to add to your
    build variables:
    
        LDFLAGS:  -L/usr/local/opt/gettext/lib
        CPPFLAGS: -I/usr/local/opt/gettext/include
    
    ==> Summary
    🍺  /usr/local/Cellar/gettext/0.18.2: 366 files, 11M
    ==> Installing php54-mcrypt dependency: libpng
    ==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/libpng-1.5.13.mountainlion.bottle.tar.gz
    ######################################################################## 100.0%
    ==> Pouring libpng-1.5.13.mountainlion.bottle.tar.gz
    🍺  /usr/local/Cellar/libpng/1.5.13: 14 files, 1.0M
    ==> Installing php54-mcrypt dependency: zlib
    ==> Downloading http://zlib.net/zlib-1.2.7.tar.gz
    ######################################################################## 100.0%
    ==> Patching
    patching file configure
    ==> ./configure --prefix=/usr/local/Cellar/zlib/1.2.7
    ==> make install
    ==> Caveats
    This formula is keg-only: so it was not symlinked into /usr/local.
    
    Mac OS X already provides this software and installing another version in
    parallel can cause all kinds of trouble.
    
    Generally there are no consequences of this for you. If you build your
    own software and it requires this formula, you'll need to add to your
    build variables:
    
        LDFLAGS:  -L/usr/local/opt/zlib/lib
        CPPFLAGS: -I/usr/local/opt/zlib/include
    
    ==> Summary
    🍺  /usr/local/Cellar/zlib/1.2.7: 9 files, 384K, built in 15 seconds
    ==> Installing php54-mcrypt dependency: php54
    ==> Downloading http://www.php.net/get/php-5.4.11.tar.bz2/from/this/mirror
    ######################################################################## 100.0%
    ==> Downloading patches
    ######################################################################## 100.0%
    ==> Patching
    patching file Makefile.global
    patch unexpectedly ends in middle of line
    ==> ./configure --prefix=/usr/local/Cellar/php54/5.4.11 --localstatedir=/usr/local/var --sysconfdir=/usr/local/etc/php/5.4 --with-config-file-path=/usr/local/etc/php/5.4 --with-config-file-scan-dir=/usr/local/etc/php/5.4/conf.d --with-iconv-dir=/usr --enable-dba --with-ndbm=/usr --enable-exif --enable-soap --enable-w
    ==> make
    ==> make install
    ==> /usr/local/Cellar/php54/5.4.11/bin/pear config-set php_ini /usr/local/etc/php/5.4/php.ini
    ==> Caveats
    To enable PHP in Apache add the following to httpd.conf and restart Apache:
        LoadModule php5_module    /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so
    
    The php.ini file can be found in:
        /usr/local/etc/php/5.4/php.ini
    
    ✩✩✩✩ PEAR ✩✩✩✩
    
    If PEAR complains about permissions, 'fix' the default PEAR permissions and config:
        chmod -R ug+w /usr/local/Cellar/php54/5.4.11/lib/php
        pear config-set php_ini /usr/local/etc/php/5.4/php.ini
    
    ✩✩✩✩ Extensions ✩✩✩✩
    
    If you are having issues with custom extension compiling, ensure that this php is
    in your PATH:
        PATH="$(brew --prefix josegonzalez/php/php54)/bin:$PATH"
    
    PHP54 Extensions will always be compiled against this PHP. Please install them
    using --without-homebrew-php to enable compiling against system PHP.
    ==> Summary
    🍺  /usr/local/Cellar/php54/5.4.11: 485 files, 37M, built in 7.2 minutes
    ==> Installing php54-mcrypt
    ==> Downloading http://www.php.net/get/php-5.4.11.tar.bz2/from/this/mirror
    ######################################################################## 100.0%
    ==> /usr/local/Cellar/php54/5.4.11/bin/phpize
    ==> ./configure --prefix=/usr/local/Cellar/php54-mcrypt/5.4.11 --with-php-config=/usr/local/Cellar/php54/5.4.11/bin/php-config --with-mcrypt=/usr/local/Cellar
    ==> make
    ==> Caveats
    To finish installing mcrypt for PHP 5.4:
      * /usr/local/etc/php/5.4/conf.d/ext-mcrypt.ini was created,
        do not forget to remove it upon extension removal.
      * Restart your webserver.
      * Write a PHP page that calls "phpinfo();"
      * Load it in a browser and look for the info on the mcrypt module.
      * If you see it, you have been successful!
    ==> Summary
    🍺  /usr/local/Cellar/php54-mcrypt/5.4.11: 3 files, 56K, built in 111 seconds
    

    After restarting apache with sudo apachectl restart I reloaded phpinfo and still no mcrypt.

    Since php54-mcrypt was installed on the Homebrew installation of php, I went ahead and uninstalled it with brew uninstall php54-mcrypt and then reinstalled it using brew install php54-mcrypt --without-homebrew-php.

    Restarted apache and loaded phpinfo, and still no mcrypt.

    How do I fix this issue. I would be happy to just have homebrew install php, crypt, and phpmyadmin for me, but I can't seem to resolve this issue with my current setup, which was based on the advice found in http://mac.tutsplus.com/tutorials/server/upgrading-the-native-php-installation-on-os-x-mountain-lion/.

    Thanks.

  • Thomas Maurstad Larsson
    Thomas Maurstad Larsson over 10 years
    @EricLeroy: You might need to remove "usr" from the php5_module link above. When I did that, it worked for me. (If the problem is the PHP version) If it's mcrypt, I had to use "brew uninstall mcrypt" and then "brew install php55-mcrypt". (for PHP5.5) You'll get it right eventually.
  • tomvo
    tomvo over 10 years
    After messing around with mcrypt for a long time I found that brew uninstall mcrypt was the missing piece.
  • Yekver
    Yekver over 9 years
    I think that you have to use this path to include php module: LoadModule php5_module /usr/local/opt/php54/libexec/apache2/libphp5.so The season is that there is no strict php version dependency in it.