将OSX更新为“El Capitan”

时间:2015-10-02 21:55:55

标签: php mcrypt osx-elcapitan

将“Yosemite”更新为“El Capitan”后,我遇到了mcrypt扩展问题。

  

致命错误:在第68行的/Users/Pilipe/Sites/prestashop-test/classes/Rijndael.php中调用未定义的函数mcrypt_decrypt()

在我的php.ini中,我添加了这一行:

  

扩展= “/ USR /本地/地窖/ php56-mcrypt的/ 5.6.13 / mcrypt.so”

当我启动此命令行时:

  

php -i | grep'mcrypt'

我有:

  

已解析的其他.ini文件=> /usr/local/etc/php/5.6/conf.d/ext-mcrypt.ini   
注册流过滤器=> zlib。,bzip2。,convert.iconv。,string.rot13,string.toupper,string.tolower,string.strip_tags,convert。,consume,dechunk,mcrypt。 ,mdecrypt。   
PHP警告:未知:依赖系统的时区设置是不安全的。您必需使用date.timezone设置或date_default_timezone_set()函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符。我们现在选择了时区'UTC',但请设置date.timezone以选择您的时区。在第0行的未知中   
的mcrypt   
mcrypt support =>启用   
mcrypt_filter support =>启用   
mcrypt.algorithms_dir =>没有价值=>没有价值   
mcrypt.modes_dir =>没有价值=>没有价值   
PWD => /usr/local/Cellar/php56-mcrypt/5.6.13   
_SERVER [“PWD”] => /usr/local/Cellar/php56-mcrypt/5.6.13

命令php -v:

  

PHP 5.6.13(cli)(建于:2015年10月2日23:07:16)   
版权所有(c)1997-2015 PHP小组   
Zend Engine v2.6.0,版权所有(c)1998-2015 Zend Technologies

我安装了mcrypt:

  

brew install php56-mcrypt

我做到了:

  

brew链接php56-mcrypt

为什么mcrypt不能正常工作?

提前谢谢你。
真诚的菲利普。

1 个答案:

答案 0 :(得分:1)

我能够通过卸载Homebrew,重新安装Homebrew然后安装php 5.6 mcrypt包来解决这个问题。这种方法优于Pilipe解决方案的优势在于它不需要禁用新的系统完整性保护(SIP)。

// Uninstall Homebrew
[sudo] rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup

// Reinstall Homebrea
ruby -e "$(curl -fsSL    https://raw.githubusercontent.com/Homebrew/install/master/install)"

// Install mcrypt
brew install php53-mcrypt

// Test mcrypt
mcrypt -v
// should result in 
// Mcrypt v.0.9.9 (i386-apple-darwin15.0.0)
// Linked against libmcrypt v.2.5.8
// Copyright (C) 1998-2002 Nikos Mavroyanopoulos (nmav@gnutls.org)