PHP mcrypt编译不正确

时间:2013-08-14 18:45:43

标签: php laravel lamp mcrypt

我已尝试过所有内容但我无法修复此错误。我通过下载安装PHP然后运行:

brew install php55-mcrypt

我最初用PHP 5.3安装它,然后Laravel抱怨它必须大于5.4。所以一切都搞砸了。

我在MAC 10.7上。有人能帮助我吗?

php -v

PHP Warning:  PHP Startup: mcrypt: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20121212
These options need to match
 in Unknown on line 0
PHP 5.5.1 (cli) (built: Aug 14 2013 10:31:02) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

3 个答案:

答案 0 :(得分:14)

brew reinstall mcrypt --build-from-source php56-mcrypt --build-from-source

从源代码构建是一个选项,它将强制brew从源代码编译而不是使用瓶子。

答案 1 :(得分:0)

由于您之前安装了PHP(5.3),现在您刚刚安装了较新的版本(5.5.1),因此新的PHP安装可能指向某些旧位置。

查找您正在使用的任何php.ini,并验证extension_dir指令。

最后一个建议是重新安装PHP 5.5.1。

答案 2 :(得分:0)

警告是因为php-mcrypt模块版本与服务器中的php版本不匹配。我并不熟悉brew,因为我是Macports的用户,但是根据你的unix ditro,你可以做类似的事情:

=======

yum list installed | grep php55

=======

Sample output:
=======
php55-gd.x86_64                        5.2.14-2.el5.art                   installed
php55-imap.x86_64                      5.2.14-2.el5.art                  installed
php55-mbstring.x86_64                  5.2.14-2.el5.art                installed
**php55-mcrypt.x86_64                    5.1.6-15.el5.centos.1        installed**
php55-mysql.x86_64                     5.2.14-2.el5.art                  installed
=======

我们可以看到与早期版本的PHP相关联的php-mcrypt模块。

如何解决错误?

更新php-mcrypt模块以修复错误。

==

yum update php-mcrypt

==

希望有所帮助