Я пытаюсь запустить репозиторий Laravel, и он выдает эту ошибку:
Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128'
Я гуглил почти каждую ссылку и не мог ее решить. Итак, насколько я понимаю, мне нужно установить расширение mcrypt.
Итак, я пробовал:
brew intsall php71-mcrypt
brew install mcrypt
extenstion=mcrypt.so
в php.ininginx -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 перезагрузить
или вы можете перезагрузить компьютер и проверить. Надежда может помочь.