Ubuntu-20.04でext-mcryptでハマった話

cakephp

久々にcakephpを入れる必要があり、そこでハマった話。経緯は分からないけどアプデがないからmcryptはphp-7.2ぐらいからpeclが引き取ったみたい(経緯は定かではない、というよりそこまで詳しくは見ていない)

最近、composerでcakephp2(2.10.24)を入れようとしたらエラーが出た。

$ composer update
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires PHP extension ext-mcrypt * but it is missing from your system. Install or enable PHP's mcrypt extension.

これが出てからその出来事を知ったがまぁ普通に入らないといろいろ困るので調査。結果、以下で解決した。まず必要パッケージをインストールする。phpのバージョンは各自の環境で。

$ sudo apt-get install libmcrypt-dev
$ sudo apt install php7.4-dev
$ sudo pecl install mcrypt-1.0.4

インストール後に、php.iniを書き換える。

$ vi /etc/php/7.4/cli/php.ini
...
extension=mcrypt.so

これでcomposerが通るようになった。

コメント

タイトルとURLをコピーしました