PHP 7.2にmcryptをインストールする方法 - TechRepublic

PHP 7.2にmcryptをインストールする方法 - TechRepublic

アフィリエイトリンクまたはスポンサーシップを通じて、ベンダーから収益を得る場合があります。これにより、サイト上の商品配置が影響を受ける可能性がありますが、レビューの内容には影響しません。詳細は利用規約をご覧ください。

以前と同じようにmcryptをインストールできなくなってしまったとしても、ご心配なく。peclを使って、このよく使われる依存関係をインストールするための手順をご紹介します。

PHP 7.1以降、php-mcryptは非推奨となりました。そしてPHP 7.2では完全に削除されました。これは問題です。多くのサーバーソフトウェアが依然としてこの暗号化ツールに依存しているからです。Nextcloud、ownCloudなど、多くのソフトウェアがまだこの依存関係を解消していないため、システムにmcryptがないとインストールできない可能性があります。どうすればいいでしょうか?apt-get install php-mcryptyum install php-mcryptを何度実行しても、うまくいきません。

幸いなことに、解決策があります。その解決策はpeclコマンドにあります。PECLはPHP拡張機能のリポジトリとして機能するPHP Extension Community Library(PHP拡張コミュニティライブラリ)です。このリポジトリを通じてmcryptをインストールできます。

mcrypt とは何ですか?

mcrypt拡張モジュールは、UNIXのcryptコマンドの代替です。これらのコマンドは、UNIXおよびLinuxシステム上でファイルを暗号化する手段として機能します。php-mcrypt拡張モジュールは、PHPとmcrypt間のインターフェースとして機能します。

参照: Linux のセキュリティ保護ポリシー (Tech Pro Research)

mcryptのインストール

Ubuntu Server 16.04にmcryptをインストールする手順を詳しく説明します。必要な依存関係をシステムに追加してしまえば、それほど難しいことではありません。mcryptがインストールされたら、この拡張機能に依存するソフトウェアのインストールを続行できます。

では、mcrypt はどのようにインストールするのでしょうか? まず、ターミナルウィンドウを開き、次のコマンドで必要な依存関係をインストールします。

sudo apt-get -y install gcc make autoconf libc-dev pkg-config
sudo apt-get -y install php7.2-dev
sudo apt-get -y install libmcrypt-dev

依存関係がインストールされたら、次のコマンドで mcrypt をインストールできます。

sudo pecl install mcrypt-1.0.1

これで完了です。Mcrypt がインストールされました。この拡張機能に依存するサーバーソフトウェアのインストール手順に戻ってください。これで準備完了です。

消えたのではなく、移動しただけ

ご心配なく。mcryptがなくなったわけではありません。PHPからPECLに移行しただけです。しかし、長年php-mcryptを使ってインストールしてきた方にとっては、これは大きな変化です。以前は1つのコマンドでmcryptをインストールできていたのに、今では4つのコマンドを使わなければならなくなりました。それでも、少なくともmcryptは引き続き利用できます。しかし、最終的にはmcryptへの依存は別のツール(OpenSSLなど)に移行すると考えています。

また読んでください…

  • Ubuntu 18.04にownCloudをインストールする方法(TechRepublic)
  • Ubuntu 18.04にnextCloud 13をインストールする方法(TechRepublic)
  • Ubuntu Server 18.04のインストール方法(TechRepublic)
  • オープンソースのドイツにおける大きな勝利:30万人のユーザーがファイル共有のためにNextcloudに移行(ZDNet)
記事をシェア
ジャック・ウォーレンの画像

ジャック・ウォーレン

ジャック・ウォーレンは、TechRepublic、The New Stack、Linux New Mediaなどで受賞歴のあるライターです。20年以上にわたり様々なトピックを執筆し、オープンソースの熱心な推進者でもあります。ジャック・ウォーレンに関する詳細は、ウェブサイトjackwallen.comをご覧ください。

Tagged: