Включение mcrypt на Mac OS для nginx

Я пытаюсь запустить репозиторий Laravel, и он выдает эту ошибку:

Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'

Я погуглил почти каждую ссылку и не смог ее решить. Так что, как я понимаю, мне нужно установить расширение mcrypt.

Итак, что я пробовал это:

  1. brew intsall php71-mcrypt
  2. brew install mcrypt
  3. Я также пытался добавить extenstion=mcrypt.so в php.ini
  4. Я попытался перезагрузить nginx безуспешно (nginx -s stop, nginx)

brew search mcyrpt показывает, что я их установил

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, но не в веб-версии

Моя версия php 7.1, nginx 1.12.0, mac os El Captain

2 ответа

Возможно, php-fpm - модуль, используемый для загрузки php в nginx, использует другой файл php.ini, и вы должны включить mcrypt там.

Чтобы узнать, какой файл php.ini использует nginx, создайте файл test.php с помощью:

<?php

phpinfo();

запустить его и искать php.ini в ответ. Вы должны найти местоположение файла.

Я думаю, что вы перезапустили nginx с brew, но это не произошло. Вам нужно перезапустить nginx с

sudo nginx -s перезагрузить

или вы можете перезагрузить компьютер и проверить. Надежда может помочь.

Другие вопросы по тегам