خطا در phpmyadmin و PHP7.2

خطا در phpmyadmin و PHP7.2

برخی کاربران پس از آپگرید به نسخه PHP 7.2 در import دیتابیس از طریق phpmyadmin گزارش مشکل کرده‌اند که خطای Warning in ./libraries/sql.lib.php#613 count(): را دریافت می‌کنند؛ممکن است پس از آپگرید به PHP7.2 نسخه phpmyadmin روی سرور سازگاری کامل را با PHP جدید نداشته باشد، با ما همراه باشید تا راه حل این مشکل را بررسی کنیم.

 


راهکار اول می‌تواند به روزرسانی phpmyadmin به آخرین نسخه موجود در سایت رسمی آن باشد که به احتمال زیاد مشکل رفع خواهد شد.

 

 خطای کامل در زمان import فایل SQl از طریق phpmyadmin به این شرح است:

in ./libraries/plugin_interface.lib.php#551
count(): Parameter must be an array or an object that implements Countable

Backtrace

./libraries/display_import.lib.php#371: PMA_pluginGetOptions(
string 'Import',
array,
)
./libraries/display_import.lib.php#456: PMA_getHtmlForImportOptionsFormat(array)
./libraries/display_import.lib.php#691: PMA_getHtmlForImport(
string '5bdb3279a72ae',
string 'database',
string 'chihenne',
string '',
integer 16777216,
array,
NULL,
NULL,
string '',
)
./db_import.php#43: PMA_getImportDisplay(
string 'database',
string 'chihenne',
string '',
integer 16777216,
)

البته ایمپورت پس از فشردن دکمه "Ignore" انجام خواهد شد ، ولی نمایش این خطاها آزاردهنده است و در این آموزش روشی برای حذف آن را ارائه خواهیم کرد

 

اگر فعلا قصد آپگیرد phpmyadmin به جدیدترین نسخه موجود را ندارید طبق راهنمای زیر عمل نمائید:

 

ابتدا با دستور زیر از فایل plugin_interface.lib.php بکاپ تهیه نمائید

cp /var/www/html/phpMyAdmin/libraries/plugin_interface.lib.php /var/www/html/phpMyAdmin/libraries/plugin_interface.lib.php.bak

 با ویرایشگری مانند vi فایل زیر را ویرایش نمائید:

 vi /var/www/html/phpMyAdmin/libraries/plugin_interface.lib.php

 

 عبارت   را جستجو نمائید اگر این عبارت وجود نداشت ، دنبال  بگردید و آن را با مقدار زیر جایگزین نمائید:

 عبارت زیر را جستجو نمائید

Search for "if (! is_null($options) && count($options) > 0) {"

اگر وجود نداشت دنبال مقدار زیر بگردید:

"if ($options != null && count($options) > 0) {"

و خط زیر را جایگزین نمائید

"if ($options != null) {"

تغییرات را ذخیره کرده و خارج شوید

phpmyadmin را رفرش کرده و مجددا تلاش نمائید