我试图运行Laravel的存储库,它会引发这个错误:
Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'
我search了几乎每一个链接,并不能解决它。 所以当我意识到我需要安装mcrypt扩展。
所以我试过的是:
brew intsall php71-mcrypt brew install mcrypt extenstion=mcrypt.so nginx -s stop, nginx ) brew search mcyrpt显示我安装了它们
php -i | grep mcrypt php -i | grep mcrypt显示:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/Cellar/php71/7.1.4_16/lib/php/extensions/no-debug-non-zts-20160303/mailparse.so' - dlopen(/usr/local/Cellar/php71/7.1.4_16/lib/php/extensions/no-debug-non-zts-20160303/mailparse.so, 9): image not found in Unknown on line 0 Additional .ini files parsed => /usr/local/etc/php/7.1/conf.d/ext-mcrypt.ini Registered Stream Filters => zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.* mcrypt mcrypt support => enabled mcrypt_filter support => enabled mcrypt.algorithms_dir => no value => no value mcrypt.modes_dir => no value => no value
phpinfo()虽然只显示:
Additional .ini files parsed: /usr/local/etc/php/7.1/conf.d/ext-mcrypt.ini
我还记得尝试安装autoconf和其他一些东西
我猜mcrypt适用于php-cli,但不适用于web版本
我的php版本是7.1,nginx 1.12.0,mac os El Captain
可能是php-fpm – 用于在nginx中加载php的模块是使用不同的php.ini文件,并且必须启用mcrypt。
要find哪个php.ini文件使用nginx,请创buildtest.php文件:
<?php phpinfo();
运行它并在响应中searchphp.ini 。 你应该find文件的位置。
我认为你用brew重新启动了nginx,但是没有影响。 你需要重新启动nginx
sudo nginx -s重新加载
或者你可以重新启动你的电脑并检查。 希望可以帮助。