はじめに
使ってるVM(homestead)上で、急にphpMyAdminから count(): Parameter must be an array or an object that implements Countable
的なエラーが出るようになりました。
調べてみたら次のような記事が。
phpmyadmin 4.7.4 is supposed to have "Fixed several compatibility issues with PHP 7.2"
Chances are you have an older version of phpmyadmin.
https://www.phpmyadmin.net/news/2017/8/24/phpmyadmin-474-released/
ガバガバ翻訳:
phpmyadminはPHP7.2との互換性の問題を修正しました
古いバージョンのphpmyadminを使用している可能性があります。
どうやら phpMyAdmin
のバージョンが古くなっているのが原因のようです。
アップデート手順
※ /usr/share/phpmyadmin
に元のソースファイルがある前提です。
console
# superuserで入ってアプリケーションの削除
sudo su
apt remove phpymadmin
rm -rf /var/share/phpmyadmin
# 適当にワークディレクトリを作る
cd /var/www/
mkdir tmp
cd tmp
# ソースファイルのダウンロード・解凍
wget https://files.phpmyadmin.net/phpMyAdmin/4.7.9/phpMyAdmin-4.7.9-all-languages.tar.gz
# https://www.phpmyadmin.net/downloads/
tar zxvf phpMyAdmin-4.7.9-all-languages.tar.gz
# 圧縮ファイルの削除・ソースのリネーム
rm phpMyAdmin-4.7.9-all-languages.tar.gz
mv phpMyAdmin-4.7.9-all-languages phpmyadmin
# 元の場所にリプレイス
cp -R phpmyadmin /usr/share/phpmyadmin
# お好みでワークフォルダーを削除する
# cd /
# rm -R /var/www/tmp
# phpMyAdminが使用するテーブルを作成する
# まずはインポート用のsqlファイルがどこにあるか探す
find -name create_tables*
# ./phpmyadmin/sql/create_tables.sql
pwd
# /var/www/tmp
# 実際のインポート作業はMySQL側で行う
mysql
# mySQL側でインポート
source /var/www/tmp/phpmyadmin/sql/create_tables.sql
所感
もう少し分かりやすいエラーを吐いてもバチは当たらないと思う。