After the Yosemite update yesterday, something is messed up with the Mcrypt extension.
The PHP based artistan CLI of the Laravel framework returns:
Mcrypt PHP extension required.
The PATH variable seems to be correct. Where is the misconfig? Before the update everything worked fine.
++++ Configs ++++
Output of 'which php':
/Applications/MAMP/bin/php/php5.6.1/bin/php
'php -v':
PHP 5.6.1 (cli) (built: Oct 13 2014 18:41:35) Copyright (c) 1997-2014
The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend
Technologies
Content of .bash_profile:
export EDITOR=nano export
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/texbin:/usr/local/mysql/bin
export PATH=/Applications/MAMP/bin/php/php5.6.1/bin:$PATH
phpinfo():
MAMP PRO Version:
3.0.7.1
UPDATE:
Mamp-log says for every extension enabled in php.ini:
PHP Warning: PHP Startup: Unable to load dynamic library
'/Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so'
- dlopen(/Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so,
9): image not found in Unknown on line 0
I've contacted MAMP support, and this is what they responded.
Hi,
Our php.ini file is messed up for 5.6.1. Go to your template files and change this line
/Applications/MAMP/bin/php/php5.6.1 ....
to
/Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20131226
We will have a full fix in a few days. You can also just downgrade to php 5.5. in the meantime.
I just had the same problem.
Just use PHP Version 5.5.17 in MAMP and everything should work fine again.
Remember to switch the version in your .bash_profile too:
export PATH=/Applications/MAMP/bin/php/php5.5.17/bin:$PATH
The hotfix was applied this morning MAMP & MAMP PRO 3.0.7.2 Published: 2014-10-21.
Default php 5.6.2
Don't forget to update .bash_profile
export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH
Everything works fine on my local and it also works fine with drush (for those that use it)
the same error with you, but I perfect sloved it now:
- Stop your MAMP
- Open /Applications/MAMP/bin/php/php5.6.1/conf/php.ini
- Find all "no-debug-non-zts-20121212" replace by "no-debug-non-zts-20131226"
- Open /Applications/MAMP/bin/php/php5.6.1/conf/pear.conf
- Find "no-debug-non-zts-20100525" replace by "no-debug-non-zts-20131226"
- Start your server
I recommend you unistall OS X's default php and apache
Path:
/etc/apache2
/usr/include/apahce2
/usr/libexec/apache2
/usr/php
/usr/bin/php
/usr/bin/php-config
/usr/bin/phpize
/usr/include/php
/usr/lib/php
/usr/share/man/man*/php*
/usr/bin/phar.phar
then
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/pear /usr/bin/pear
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/peardev /usr/bin/peardev
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/pecl /usr/bin/pecl
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/phar.phar /usr/bin/phar.phar
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/php /usr/bin/php
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/php-cgi /usr/bin/php-cgi
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/php-config /usr/bin/php-config
sudo ln -s /Applications/MAMP/bin/php/php5.6.1/bin/phpize /usr/bin/phpize