Mcrypt with Mamp Pro on Mac OS X Yosemite 10.10

2019-02-11 06:38发布

问题:

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

回答1:

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.



回答2:

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


回答3:

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)



回答4:

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