在Mac OS X Yosemite 10.10上使用Mamp Pro进行Mcrypt

时间:2014-10-19 09:46:31

标签: php macos laravel mamp osx-yosemite

昨天Yosemite更新后,有些东西搞砸了Mcrypt扩展。 基于PHP的artistan CLI of the Laravel framework返回:

  

需要Mcrypt PHP扩展。

PATH变量似乎是正确的。 misconfig在哪里?在更新之前一切正常。

++++ Configs ++++

输出'哪个php':

  

/Applications/MAMP/bin/php/php5.6.1/bin/php

' php -v':

  

PHP 5.6.1(cli)(建于2014年10月13日18:41:35)版权所有(c)1997-2014   PHP Group Zend Engine v2.6.0,版权所有(c)1998-2014 Zend   技术

.bash_profile的内容:

  

export EDITOR = nano export   PATH =的/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:在/ usr / local / bin目录中:/ opt / X11 / bin中:在/ usr / texbin:在/ usr /本地/ MySQL的/ bin中   export PATH = / Applications / MAMP / bin / php / php5.6.1 / bin:$ PATH

phpinfo()函数: enter image description here Mcrypt part

MAMP PRO版本:

  

3.0.7.1

更新

Mamp-log表示在php.ini中启用的每个扩展名:

  

PHP警告:PHP启动:无法加载动态库   ' /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):在第0行的未知中找不到图像

5 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。

只需在MAMP中使用PHP版本5.5.17,一切都应该再次正常工作。

请记住切换.bash_profile中的版本:

export PATH=/Applications/MAMP/bin/php/php5.5.17/bin:$PATH

答案 1 :(得分:3)

我已联系过MAMP支持,这就是他们的回应。

  

您好,

     

我们的php.ini文件搞砸了5.6.1。转到模板文件并更改此行

     

/Applications/MAMP/bin/php/php5.6.1 ....

     

     

/Applications/MAMP/bin/php/php5.6.1/lib/php/extensions/no-debug-non-zts-20131226

     

我们将在几天内完成修复。你也可以降级到PHP 5.5。与此同时。

答案 2 :(得分:3)

今天早上应用了修补程序MAMP& MAMP PRO 3.0.7.2发布时间:2014-10-21。 默认php 5.6.2

别忘了更新.bash_profile

  

export PATH = / Applications / MAMP / bin / php / php5.6.2 / bin:$ PATH

一切都在我当地工作正常,它也适用于匆忙(对于那些使用它的人)

答案 3 :(得分:1)

和你一样的错误,但我现在完全解决了这个错误:

  • 停止你的MAMP
  • 打开/Applications/MAMP/bin/php/php5.6.1/conf/php.ini
  • 查找全部" no-debug-non-zts-20121212"替换为" no-debug-non-zts-20131226"
  • 打开/Applications/MAMP/bin/php/php5.6.1/conf/pear.conf
  • 查找" no-debug-non-zts-20100525"替换为" no-debug-non-zts-20131226"
  • 启动服务器

我建议您取消运行OS X的默认php和apache 路径:

/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

然后

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

答案 4 :(得分:0)

1)首先检查加载了什么php.ini文件:

php --ini

您可能会看到没有加载任何文件。

2)如果你不介意重新安装php,你可以这样做:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

3)然后设置新php安装的路径,以避免使用OSX附带的本机php。

为了设置路径,请使用此命令 - 请注意,您的路径可能不同:

export PATH = / usr / local / php5 / bin:$ PATH