Ubuntu16.04.1、Apache2、MySQL、およびPHP 7.0.8.1の最小限のサーバー環境を使用しています。 apt-get install lamp-server^
経由でAMPをインストールしました。
また、PHPmyadminを手動でインストールしました:
cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.6.5.2/phpMyAdmin-4.6.5.2-all-languages.Zip
find ./ -type f -name '*phpMyAdmin*.Zip' -exec unzip {} \; # We can also do unzip \*phpMyAdmin*.Zip ...
find ./ -type d -name 'phpMyAdmin-*' -exec mv {} phpmyadmin \;
PHPmyadminはブートストラップされていますが、完全に機能するためには、以下を行う必要があります。
phpenmod mcrypt
phpenmod mbstring
しかし、これらはそれぞれエラーを返します:
Module mcrypt ini file doesn't exist under /etc/php/7.0/mods-available
Module mbstring ini file doesn't exist under /etc/php/7.0/mods-available
以前にこれらのエラーが発生したことはありません。これらのモジュールは、現在のリリースのPHPmyadminで冗長ですか、またはapt-get install
を介してインストールされていない場合ですか?
最初にインストールします:
Sudo apt install php7.0-mcrypt && Sudo apt install php7.0-mbstring
次に、それらを有効にします:
Sudo a2enmod mcrypt
Sudo a2enmod mbstring
更新
広範な研究に基づいて、bugが存在し、php cliがphp mcrypt。
ソース:
buntu 13.10(Nginx、PHP-FPM)ではPHP拡張Mcryptを使用できません
phpはubuntu 13.10でうまく機能せず、phpmyadminにmcryptがありません
Apacheでmcrypt
がenabledであることを確認するには、次の手順を実行します。
info.php
というphp
ファイルを作成し、次のコードを挿入します。
<?php echo phpinfo(); ?>
ファイルを/var/www/html
またはserver rootに配置します
たとえばIP/info.php
またはlocalhost/info.php
のブラウザからアクセスします
外を見ると、mcrypt and mbstring
が有効になっていることがわかります。
ご覧のとおり、Apacheで有効になっていますが、php CLIからアクセスできないため、エラーメッセージが表示されます。
その動作を確認するために[この問題もあるので]私は次のことをしました:
mcrypt
が有効になっていない場合、エラーをスローして続行を拒否します。あなたのApache情報ページにこれらのモジュールが有効になっていると表示される場合、単純なputが有効になります。表示されるエラーは、php CLIがバグであることが指摘されているmcryptに問題がある結果です。 phpの以前のバージョンで見られましたが、現在はphp 7に存在します
上記のソリューションに問題がありましたが、これが見つかりました:
https://www.techrepublic.com/article/how-to-install-mcrypt-for-php-7-2/
基本的に、自分でビルドします。
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
そこから追加する必要がありました:
/etc/php/7.2/mods-available/mcrypt.ini
次のようになりました:
; configuration for php mcrypt module
; priority=20
extension=mcrypt.so
それから
Sudo phpenmod mcrypt
Sudo systemctl restart Apache2.service
両方がインストールされてエラーが解決しない場合は、mods-available
のiniファイルへのシンボリックリンクを作成してみてください
方法は次のとおりです。
Sudo ln -s /etc/php7/conf.d/mcrypt.ini /etc/php/7.0/mods-available/mcrypt.ini
Sudo ln -s /etc/php7/conf.d/mbstring.ini /etc/php/7.0/mods-available/mbstring.ini