web-dev-qa-db-ja.com

Ubuntu Server 18.04 LTSにphp-mcryptパッケージがありません

Ubuntu Server 18.04 LTSにphp-mcryptパッケージがありませんか?

apt install php-mcrypt
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package php-mcrypt is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php-mcrypt' has no installation candidate
16
Andrea Rossetti

McryptはPHP 7.2で非推奨になったため、デフォルトでは使用できません。

それでも、peclを使用してmcrypt拡張機能をインストールできます。これらの手順は、Apache Webサーバー用です。

# Install prerequisites
Sudo apt-get install php-dev libmcrypt-dev gcc make autoconf libc-dev pkg-config

# Compile mcrypt extension
Sudo pecl install mcrypt-1.0.1
# Just press enter when it asks about libmcrypt prefix

# Enable extension for Apache
echo "extension=mcrypt.so" | Sudo tee -a /etc/php/7.2/Apache2/conf.d/mcrypt.ini

# Restart Apache
Sudo service Apache2 restart

これでうまくいくはずです。

長期的にはmcryptを置き換える必要があるかもしれませんが、それは理由により廃止されています。

28
Epskampie

これを機能させるために次のことを行いました...

Sudo add-apt-repository ppa:ondrej/php
Sudo apt-get install php7.1-mcrypt

Php5.6または7.0を実行している場合は、次を使用できます

Sudo apt-get install php5.6-mcrypt
Sudo apt-get install php7.0-mcrypt
6
DanBarber

php mcryptはphp 7.2で削除されました http://php.net/manual/en/migration71.deprecated.php

3
bruri wijayanto

最初に、mcrypt PHPモジュールが存在するかどうかを確認します。

$ php -m | grep mcrypt

Mcrypt PHPモジュールをインストールするには、最初に次の前提条件を満たす必要があります。

Sudo apt install php-dev libmcrypt-dev php-pear

これで、Ubuntu 18.04システムにmcrypt PHPモジュールをインストールする準備ができました。

$ Sudo pecl channel-update pecl.php.net
$ Sudo pecl install mcrypt-1.0.1

/etc/php/7.2/cli/php.iniファイルを開き、以下を挿入します。

extension=mcrypt.so

全部終わった。成功すると、mcrypt PHPモジュールの存在を確認すると、次の出力が生成されます。

$ php -m | grep mcrypt
mcrypt
2
PHP Worm...