どうも、白夜霧(@KiRi_Byakuya)です。
今回は以前構築したWindows上のLinuxの開発環境(WSL)に導入した「phpMyAdmin」のエラー解決方法の覚書です。
誰かの参考になれば幸いですm(_ _)m
目次
『phpMyAdmin環境保管領域が完全に設定されていないため、・・・』が表示された状態
phpMyAdminへログインした時、下記のようなエラーが表示される。
phpMyAdmin 環境保管領域が完全に設定されていないため、いくつかの拡張機能が無効になっています。理由についてはこちらをご覧ください。代わりにデーターベースの操作タブを使って設定することもできます。
※英語
The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why. Or alternately go to 'Operations' tab of any database to set it up there.
下記記事の通り、WSLでLinux(ubuntu)を構築。
【2022年版】Windows 11にWordPressの開発環境を構築する方法【WSL】
WindowsのWSLにWordPressの開発環境を構築するための覚書。
続きを見る
WordPressのテーマ開発環境を構築するために、phpMyAdminをインストールしたところ上記エラーが表示された。
phpMyAdmin側のエラーなので、PHPやMySQL側には基本的に影響はないっぽい。ただ、エラーをそのままにしているのは気持ち悪いので、解決方法の覚書を記載する。
「phpMyAdmin環境保管領域」の完全設定方法のおおまかな手順
簡単な流れ
- 設定を保存するデーターベース「phpmyadmin」を作成。
- phpMyAdminの設定ファイル(config.inc.php)を編集。
本記事では、下記の環境で確認しています。
- Ubuntu 20.04.4 LTS
- Apache 2.4.41
- mysql Ver 8.0.30-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))
- PHP 7.4.3 (Cli)
- phpMyAdmin 4.9.5deb2
「phpMyAdmin環境保管領域」の完全設定方法と手順
①設定を保存するデーターベース「myphpadmin」を作成
データーベース(MySQL)の「root」でログイン。
表示されているエラー文の「理由についてはこちらをご覧下さい。」の『こちら』をクリック。
『「phpmyadmin」データベースを作成し、phpMyAdmin 環境保管領域をセットアップ。』の『作成』をクリック。
作成が成功すると「phpmyadmin」データベースが作成されます。
メモ:SQLスクリプトでデーターベース「phpmyadmin」を作成する方法
XAMPPでMySQLを導入し、phpMyAdminを導入している場合。SQLスクリプトでもデーターベース「phpmyadmin」が作成可能です。
データーベース作成用のスクリプトは、phpMyAdmin側で既に用意されています。スクリプトの保存場所は以下の通りです。
- XAMPP(Windows):C:\xampp\phpMyAdmin\sql\create_tables.sql
- Ubuntu:usr\share\doc\phpmyadmin\examples\create_tables.sql
phpMyAdminにrootでログイン→「インポート」タブの「ファイルを選択」で『create_tables.sql』を選択し、実行すれば「phpmyadmin」が作成可能です。
②phpMyAdminの設定ファイルを変更する
phpMyAdminのフォルダを開き「config.inc.php」をテキストエディタで開く。フォルダのパスは以下の通りです。
- XAMPP(Windows)の場合:C:\xampp\phpMyAdmin\config.inc.php
- Ubuntuの場合:\etc\phpmyadmin\config.inc.php
124行目あたりにある「Storage database and tables」のコメントアウトしている各20行の先頭の「//」を削除して、コメントアウトを解除して保存。
/* Storage database and tables */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma__relation';
// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
// $cfg['Servers'][$i]['history'] = 'pma__history';
// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
// $cfg['Servers'][$i]['users'] = 'pma__users';
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
※コメントアウト解除後
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
/* Contrib / Swekey authentication */
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';
一旦ログアウトして、phpmyAdminに再度ログインすると「phpMyAdmin 環境保管領域が完全に・・・」というエラーが消えました。
root以外で「phpMyAdmin 環境保管領域が完全に・・・」エラーが表示される場合の対処
私の場合、WordPressで使うデーターベース以外に一切権限を持たないアカウントで「phpMyAdmin」にログインすると「phpMyAdmin 環境保管領域が完全に・・・」エラーは消えていなかった。
そりゃWordPressで使うデーターベース以外へアクセスできないんだから、エラーでるよね・・・。エラーが出ていても基本的には問題ない?と思うけど、せっかくなので対処。
Ubuntu側からMySQLにログインして、下記コマンドを実行し、phpmyadminのデーターベースにもアクセスできる権限を付与。
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'kiri'@'localhost';
FLUSH PRIVILEGES;
exit
あくまでローカルな開発環境を前提とした設定です。公開するサーバーの場合は要検討して下さい。
以上、有難うございましたm(_ _)m
参考になったらポッチとお願いしますm(_ _)m