Problems installing mcrypt support for php54 using Homebrew on Mountain Lion

I am trying to install mcrypt support in php 5.4.11 on Mountain Lion using Homebrew and I am having problems that I cannot solve.

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

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

So, when searching on google, I realized that somehow mcrypt is not loading, because there was no link to it when I uploaded my phpinfo file.

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

brew install mcrypt php53-mcrypt

The following is the result of my 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 rebooted phpinfo and still not got mcrypt.

Since php54-mcrypt was installed on the php home installation, I went and uninstalled it using 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 to fix this problem. I would be happy if I only had built-in php, crypt and phpmyadmin, but I can not solve this problem with my current setting based on the advice found at http://mac.tutsplus.com/tutorials/server/ upgrading-the-native-php-installation-on-os-x-mountain-lion / .

Thanks.

+4
source share
1 answer

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

I first had to remove php54-mcrypt again in order to remove the --without-homebrew-php flag and reinstall it with support for the php version installed by the 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 the httpd.conf file and changed the php location. I just commented on the PHP system and added a new line to the PHP LoadModule directives installed through Homebrew.

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

Then I installed phpmyadmin via Homebrew using

brew install phpmyadmin

Then I added the following to the end 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 that I need to make to the homebrew installed by php.ini located in /usr/local/etc/php/5.4/php.ini and changed the configuration file for phpmyadmin located in /usr/local/share/phpmyadmin/config.inc.php .

Then I restarted apache using sudo apachectl restart

Things are good!

+12
source

All Articles