Назад | Перейти на главную страницу

Включение 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

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

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

<?php

phpinfo();

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

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

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

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