PHP mcrypt 未正确编译
Posted
技术标签:
【中文标题】PHP mcrypt 未正确编译【英文标题】:PHP mcrypt not compiled properly 【发布时间】:2013-08-16 21:11:15 【问题描述】:我已经尝试了所有方法,但无法修复此错误。我通过下载安装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
【问题讨论】:
这并不能解决您的直接问题,但可以考虑使用 Vagrant 或其他基于 VM 的解决方案,这样您就不必在 Macintosh 上处理此类问题。这是非常不标准的 Posix-ish 设置会导致各种麻烦:D net.tutsplus.com/tutorials/php/vagrant-what-why-and-how 没人能回答吗? 【参考方案1】:brew reinstall mcrypt --build-from-source php56-mcrypt --build-from-source
从源代码构建是一个选项,它将强制 brew 从源代码编译而不是使用瓶子。
【讨论】:
错误:没有名称为“php56-mcrypt”的可用公式【参考方案2】:由于您之前安装了 PHP (5.3),而现在您刚刚安装了较新的版本 (5.5.1),可能新的 PHP 安装指向了一些旧位置。
查找您正在使用的任何php.ini
,并验证extension_dir
指令。
最后的建议是重新安装 PHP 5.5.1。
【讨论】:
感谢您的建议.. 但是我已经更新了 php.ini 中的 extension_dir 条目.. 但没有更改任何内容.. 仍然出现错误.. 我也重新安装了 PHP 5.5 但没有进展.. :( 奇怪...好像帮不上忙。【参考方案3】:警告是因为 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
======
希望对你有帮助
【讨论】:
他使用的是 MAC OS X 而不是 RHEL/Fedora,所以使用 yum 真的很有帮助 哎呀,显然应该不会。以上是关于PHP mcrypt 未正确编译的主要内容,如果未能解决你的问题,请参考以下文章
PHP编译安装报错: mcrypt.h not found. Please reinstall libmcrypt.
PHP编译安装报错:configure: error: mcrypt.h not found. Please reinstall libmcrypt
解决php编译报错configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决php编译报错configure: error: mcrypt.h not found. Please reinstall libmcrypt.