在mac os上为mginx启用mcrypt

我试图运行Laravel的存储库,它会引发这个错误:

Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'

我search了几乎每一个链接,并不能解决它。 所以当我意识到我需要安装mcrypt扩展。

所以我试过的是:

  1. brew intsall php71-mcrypt
  2. brew install mcrypt
  3. 我也试图在php.ini中添加extenstion=mcrypt.so
  4. 我试图重启nginx而没有成功( 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重新加载

或者你可以重新启动你的电脑并检查。 希望可以帮助。