I have updated cli and nginx to use php 7.2 using the follow commands:
sudo apt-get -y install gcc make autoconf libc-dev pkg-config sudo apt-get -y install libmcrypt-dev sudo pecl install mcrypt-1.0.1
sudo bash -c "echo extension=/usr/lib/php/20170718/mcrypt.so > /etc/php/7.2/cli/conf.d/mcrypt.ini" sudo bash -c "echo extension=/usr/lib/php/20190902/mcrypt > /etc/php/7.2/mods-available/mcrypt.ini"
However when I run:
php -i | grep "mcrypt"
I get the following response:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20190902/mcrypt' (tried: /usr/lib/php/20190902/mcrypt (/usr/lib/php/20190902/mcrypt: cannot open shared object file: No such file or directory), /usr/lib/php/20170718//usr/lib/php/20190902/mcrypt.so (/usr/lib/php/20170718//usr/lib/php/20190902/mcrypt.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 /etc/php/7.2/cli/conf.d/mcrypt.ini
phpinfo() doesn’t display mcrypt info either, I’m guessing for the same reason.
I’ve tried changing the path in /etc/php/7.2/cli/php.ini; ‘extension_dir’ is actually commented out, but if I uncomment it, whatever I update it to, it gets appended to ‘/usr/lib/php/20170718/’.
Why does my system insist on using ‘/usr/lib/php/20170718/’ as the path?
How do I get mcrypt working for cli and nginx?
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.