ホームページ  >  記事  >  バックエンド開発  >  php7.2/php7.3にmcrypt拡張機能をインストールするにはどうすればよいですか?

php7.2/php7.3にmcrypt拡張機能をインストールするにはどうすればよいですか?

藏色散人
藏色散人オリジナル
2019-03-27 10:10:5813395ブラウズ

mcrypt は、PHP の重要な暗号化サポート拡張ライブラリです。このライブラリは、Linux 環境ではデフォルトで有効になっていません。ウィンドウ環境 (PHP>=5.3) では、mcrypt 拡張機能がデフォルトで有効になっています。 mcrypt 拡張機能は、mcrypt 暗号化ライブラリへのインターフェイスです。この拡張機能は、mcrypt を使用する PHP コードを PHP 7.2 で実行できるようにするのに役立ちます。

php7.2/php7.3にmcrypt拡張機能をインストールするにはどうすればよいですか?

#mcrypt 拡張機能の主な問題は、この拡張機能が libmcrypt に基づいており、2007 年以降開発されていないことです。したがって、libmcrypt はまだ使用されていますが、適切な開発とメンテナンスが行われていないため、ライブラリのセキュリティ問題が多くのシステム管理者にとって焦点となっています。

mcrypt 拡張機能の開発が終了したため、この拡張機能も PHP 7.2 から削除され、非公式 PECL リポジトリに移動されました。ただし、mcrypt 拡張機能は PHP 5.4 から PHP 7.1 でもまだ見つかります。 PHP 7.2 がリリースされましたが、mcrypt 拡張機能は含まれていません。 PHP 7.2 以降、PHP は暗号化ライブラリとして libsodium を使用します。

PHP 7.2 に mcrypt 拡張機能をインストールするには、サーバーの root ユーザーとして次のコマンドを実行します:

php および pecl のバージョンを確認する

php -v
pecl version

php が 7.2 ではない場合は、php コマンドの代わりに /usr/bin/php7.2 を使用します。

#mcrypt 拡張機能をインストールします

Mcrypt

PECL 拡張機能

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

プロンプトが表示されたら

libmcrypt prefix? [autodetect] :

[Enter]を押すと自動的に検出されます。

mcrypt trought pecl を正常にインストールしたら、mcrypt.so 拡張子を php.ini に追加する必要があります。

出力は次のようになります:

...
Build process completed successfully
Installing '/usr/lib/php/20170718/mcrypt.so'    ---->   this is our path to mcrypt extension lib
install ok: channel://pecl.php.net/mcrypt-1.0.1
configuration option "php_ini" is not set to php.ini location
You should add "extension=mcrypt.so" to php.ini

インストール パスを取得し、それを cli および apache2 php.ini 構成に追加します。

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/20170718/mcrypt.so > /etc/php/7.2/apache2/conf.d/mcrypt.ini"

拡張機能がインストールされていることを確認します

コマンドを実行します:

php -i | grep "mcrypt"

出力は次のようになります:

/etc/php/7.2/cli/conf.d/mcrypt.ini
Registered Stream Filters => zlib.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, convert.iconv.*, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

FAQ

Q: エラー メッセージが表示されます: エラー: 'phpize' に失敗しました

回答: php7.2-dev apt-get install php7.2 をインストールできます。 -dev

Q: MacOS/OSX に PHP 7.1 を最高の設定でインストールするための解決策は何ですか?

回答: macports を使用して、sudo port install php71-mcrypt をインストールできます。

関連する推奨事項: 「

PHP チュートリアル

これこの記事は、php7.2/php7.3 に mcrypt 拡張機能をインストールする方法について説明したもので、困っている友人の役に立てば幸いです。

以上がphp7.2/php7.3にmcrypt拡張機能をインストールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。