昨日からなぜかPHPMyAdminというPHPでできたMySQL管理プログラムが使えず困っていました。
そして、いろいろ調べていて気付いたのが…
Apache2のエラーログ見ればわかるんじゃね?
これに気付くまでが長かった←
nano /var/log/apache2/error.log
を開いてみてみるとこんなエラーが
[Sat Oct 22 07:01:31.834177 2016] [:error] [pid 11799] [client 192.168.1.4:61321] PHP Fatal error: Uncaught Error: Call to undefined function __() in /usr/share/phpmyadmin/libraries/core.lib.php:235\nStack trace:\n#0 /usr/share/phpmyadmin/libraries/core.lib.php(308): PMA_fatalError('The [a@./url.ph...')\n#1 /usr/share/phpmyadmin/libraries/common.inc.php(90): PMA_warnMissingExtension('mbstring', true)\n#2 /usr/share/phpmyadmin/index.php(12): require_once('/usr/share/phpm...')\n#3 {main}\n thrown in /usr/share/phpmyadmin/libraries/core.lib.php on line 235
これを見て私は「mbstring」のところからPHP.iniから読み込んでいないんじゃないかと予想
実際にPHP.iniはmbstringやcurlなどを読み込まない設定になっていたので、コメントアウトを外し、再起動
でもまだ500エラー
もうちょっとしっかり見てみたところ
その上に
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/php_mbstring.dll' - /usr/lib/php/20151012/php_mbstring.dll: cannot open shared object file: No such file or directory in Unknown on line 0
とmbstringやcurlなどと書いてありました。
思えばPHPでmbstringとか入れた覚えあったっけ?
そういえば入れてませんね←
もしやと思いインストールしてみた
sudo apt-get install php-mbstring php-curl
とやったところ新規インストールとして行われましたw
必要なモジュールが有効になっておらず、またインストールもされていませんので開けるわけがありません
やっと読み込めるようになりました!
まとめ
動かなかったら必要なモジュールがあるか確認し、インストールされているか有効になっているかを確認しよう
コメント