Saya telah mengunggah cadangan ke sebuah tabel, membuka tabel yang saya lihat ini:
Warning in ./libraries/sql.lib.php#601
count(): Parameter must be an array or an object that implements Countable
Backtrace
./libraries/sql.lib.php#2038: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#1984: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./sql.php#216: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'alternativegirls',
string 'tgp_photo',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `tgp_photo`',
NULL,
NULL,
)
./index.php#53: include(./sql.php)
Di dalam phpMyAdmin ...
PHP 7.2, server Ubuntu 16.04, diinstal kemarin.
Mencari Saya melihat bahwa beberapa orang memiliki kesalahan dalam kode mereka, tetapi saya tidak menemukan orang yang menerimanya di phpMyAdmin ...
Apa yang harus saya lakukan? Apakah itu kesalahan saya? Kesalahan phpmyadmin? tunggu pembaruan? Saya kembali ke PHP 7.1?
phpmyadmin
countable
alebal
sumber
sumber
if ( count($articles)){..}
di CodeIgniter , mereka harus menggunakan:if ( count((array)$articles)){..}
seperti di siniJawaban:
Edit file
/usr/share/phpmyadmin/libraries/sql.lib.php
menggunakan perintah ini:Pada baris 613 fungsi hitungan selalu bernilai true karena tidak ada tanda kurung tutup setelahnya
$analyzed_sql_results['select_expr']
. Membuat penggantian di bawah ini menyelesaikan ini, maka Anda harus menghapus tanda kurung penutup terakhir pada baris 614, karena sekarang tanda kurung tambahan.Menggantikan:
Dengan:
Mulai ulang apache server:
sumber
Error in processing request Error code: 500 Error text: Internal Server Error
. Solusi dari @Chandra Nakka memperbaiki masalah saya.Metode termudah:
Jalankan saja perintah di bawah ini di terminal dan kembali ke PhpMyAdmin. Sekarang berfungsi dengan baik :)
Metode Manual:
Buka file sql.lib.php
Temukan
count($analyzed_sql_results['select_expr']
kode pada file. Anda bisa mendapatkan ini pada baris ~ 613 . Anda dapat melihat ini di bawah kode yang salahGanti saja kode yang salah dengan yang di bawah ini
Simpan file dan datang ke PhpMyAdmin .
sumber
nano +613 filename
agar dapat membawa Anda langsung ke jalur tertentu.Saya menemukan jumlah PHP 7.2 ini () - kesalahan SYNTAX di sql.lib.php
Itu bekerja dengan baik pada konfigurasi saya:
Buka
/usr/share/phpmyadmin/libraries/sql.lib.php
Ubah baris : Pindahkan tanda kurung sebelum ==
di
sumber
server error
. @Loquace's jawaban yang harus diterima.diuji pada Debian, harus berfungsi di Ubuntu:
1.) Pertama unduh file phpMyadmin terbaru.
2.) Hapus (buat cadangan) semua file versi sebelumnya yang terletak di
/usr/share/phpmyadmin
direktori.3.) Buka kompresi untuk
/usr/share/phpmyadmin/
direktori semua file phpmyadmin terbaru.4.) Ubah file
libraries/vendor_config.php
dan ubah baris:untuk
dan
untuk
5.) restart server apache dan selesai.
sumber
mkdir /usr/share/phpmyadmin/tmp; chgrp www-data tmp; chmod g+w tmp;
/usr/share/phpmyadmin
berfungsi. Tidak perlu mengikuti langkah selanjutnya.Edit file :
'/usr/share/phpmyadmin/libraries/sql.lib.php'
Ganti :
(count($analyzed_sql_results['select_expr'] == 1)
Dengan :
(count($analyzed_sql_results['select_expr']) == 1
ini bekerja untuk saya
sumber
sumber
Jika seseorang memiliki kesalahan yang sama di halaman ekspor DB (saya memiliki masalah ini di Ubuntu 18.04), kemudian ganti baris 551 dalam file
/usr/share/phpmyadmin/libraries/plugin_interface.lib.php
dengan kodesumber
if ($options != null && count($options) > 0) {
dengan:if ($options != null) {
maka Anda dapat mengeksporphpmyadmin 4.7.4 seharusnya memiliki "Memperbaiki beberapa masalah kompatibilitas dengan PHP 7.2"
Kemungkinan Anda memiliki versi phpmyadmin yang lebih lama.
https://www.phpmyadmin.net/news/2017/8/24/phpmyadmin-474-released/
sumber
Lanjutkan langkah-langkah berikut di ubuntu-18.04:
Langkah 1) temukan
sql.lib.php
Ini akan menunjukkan sesuatu seperti:
Langkah 2) Buka terminal (Alt t) dan tulis:
Langkah 3)
sudo gedit /usr/share/phpmyadmin/libraries/sql.lib.php
dan cari fungsi di bawah ini:Langkah 4) Ganti fungsi di atas dengan:
Langkah 4) Simpan & tutup file dan perintah di bawah ini di terminal
Langkah 5)
sudo service mysql reload
Langkah 6)
sudo service apache2 reload
Ini bekerja untuk saya .. Goodluck
|| (count($analyzed_sql_results['select_expr']) == 1
apalagi, jika Anda masih menghadapi masalah yang sama maka lakukan hal berikut.
ganti dengan kode berikut
sekarang simpan dan mulai ulang server
sumber
Saya pikir pilihan terbaik adalah memperbarui Phpmyadmin ke versi yang sudah diperbaiki.
Sampai diterbitkan sebagai deb, Anda bisa melakukannya seperti di @ crimson-501 jawaban yang akan saya salin di bawah ini:
apt-get install phpmyadmin
.cd /usr/share
.rm -rf phpmyadmin
.apt-get install wget
):wget -P /usr/share/ "https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-english.zip"
Biarkan saya menjelaskan argumen dari perintah ini, -P mendefinisikan path dan "the link.zip" saat ini (17/7/18) ) versi terbaru PMA. Anda dapat menemukan tautan itu di SINI .apt-get install unzip
):unzip phpMyAdmin-4.9.4-english.zip
. Kami baru saja membuka ritsleting PMA, sekarang kami akan memindahkannya ke rumah final.cp
(copy) untuk memindahkan file kita! Perhatikan bahwa kita harus menambahkan-r
argumen karena ini adalah folder.cp -r phpMyAdmin-4.9.4-english phpmyadmin
.rm -rf phpMyAdmin-4.9.4-english
.Terus membaca!
Sekarang Anda mungkin melihat dua kesalahan setelah masuk ke PMA.
Namun, masalah ini relatif mudah diperbaiki. Untuk masalah pertama yang harus Anda lakukan adalah mengambil editor pilihan Anda dan mengedit
/usr/share/phpmyadmin/config.inc.php
tetapi ada masalah, kami menghapusnya! Tidak apa-apa, yang harus Anda lakukan adalah:cd /usr/share/phpmyadmin
&cp config.sample.inc.php config.inc.php
.nano config.inc.php
dan salin rahasia yang dihasilkan secara dinamis dari dekat bagian bawah halaman ini: https://www.question-defense.com/tools/phpmyadmin-blowfish-secret-generator .Contoh Entri Rahasia Variabel phpMyAdmin Blowfish:
Sekarang simpan dan tutup file.
mkdir tmp
&chown -R www-data:www-data /usr/share/phpmyadmin/tmp
. Perintah terakhir memungkinkan server web Apache untuk memiliki direktori tmp dan mengedit isinya.sumber
Coba ganti fungsi ini dalam file: /usr/share/phpmyadmin/libraries/sql.lib.php
sumber
Ubuntu 18,04 LTS
Ini adalah langkah-langkah yang berhasil bagi saya. Banyak, banyak terima kasih kepada William Desportes untuk menyediakan pembaruan otomatis pada PPA Ubuntu mereka.
Langkah 1 ( dari pos William Desportes )
$
sudo add-apt-repository ppa:phpmyadmin/ppa
Langkah 2
$
sudo apt-get --with-new-pkgs upgrade
Langkah 3
$
sudo service mysql restart
Jika Anda memiliki masalah me-restart mysql, Anda juga dapat memulai kembali dengan urutan berikut
$
sudo service mysql stop;
$
sudo service mysql start;
sumber
Ubuntu 18.10 (Desember, 2018)
Jalur 613, 614, 615, ganti dengan:
sumber
Bekerja untuk saya .. Ubuntu 18.04
Temukan
count($analyzed_sql_results['select_expr']
kode pada file. Anda bisa mendapatkan ini pada baris ~ 613.Cukup ganti dengan kode:
Simpan file dan muat ulang PhpMyAdmin.
Selesai !!!
sumber
|| (count($analyzed_sql_results['select_expr']) == 1
Untuk versi phpmyadmin saya (4.6.6deb5), saya menemukan baris 613, dan menyadari bahwa penghitungan () tanda kurung tidak ditutup dengan benar. Untuk memperbaiki ini sementara hingga rilis berikutnya, cukup ubah:
untuk:
sumber
Ini diperbaiki dalam versi PHPMyAdmin yang lebih baru. Repositori Perangkat Lunak Ubuntu untuk Ubuntu 18.04.2 menampung versi 4.6.6.5, sementara mereka saat ini di 4.9.0.1. Memperbarui instalasi PHPMyAdmin Anda akan memperbaiki masalah ini, tetapi mungkin terbukti lebih berisiko daripada hanya mengedit satu baris kode itu. Inilah cara saya melakukannya di Server Ubuntu saya. Langkah-langkah pada dasarnya sama (dengan jalur berbeda) untuk semua sistem operasi.
Verifikasi bahwa itu berfungsi. Jika tidak, well ... Anda memiliki cadangan, jadi kembalikan dan edit baris yang rusak secara manual. Dalam pengalaman pribadi saya, saya menemukan setelah melakukan ini bahwa versi 4.6.6.5 tidak hanya penuh dengan bug, tetapi juga sangat lambat dibandingkan dengan 4.9.0.1 yang baru. Peningkatan kecepatan adalah sihir murni untuk sesuatu yang menurut saya berkualitas "WordPress".
sumber
Berfungsi di UBUNTU 16.04.3 Buka saja
usr / share / libraries / sql.lib.php
memodifikasi
|| (count($analyzed_sql_results['select_expr'] == 1)
Untuk
|| ((count($analyzed_sql_results['select_expr']) == 1)
sumber
Tingkatkan ke phpMyAdmin 4.8.3. ini memecahkan masalah kompatibilitas PHP 7.2
sumber
|| ((count($analyzed_sql_results['select_expr']) == 1
Ini yang saya ubah di baris 614 dan phpmyadmin berfungsi tanpa kesalahan. Perlu satu
(
sebelum dihitung, dan satu)
sebelum==
. Itu dia.sumber
Edit file '/usr/share/phpmyadmin/libraries/sql.lib.php' Ganti: (buat cadangan)
Dengan:
sumber
Hai yang berikut ini menyelesaikan masalah saya yang sama sekali (impor / ekspor dan sebagainya):
Perbaiki Bug Phpmyadmin [plugin_interface.lib.php] + Php7.2 + Ubuntu 16.04
jadi ... di bawah ubuntu 18.04, mysql, php7.2: Terminal:
Temukan baris berikut (ctrl + f):
itu pada baris # 551 untukku
dan ubah untuk mengikuti:
ctrl + s untuk menyimpan perubahan
dan di terminal: ctrl + c untuk mendapatkan kembali promt ...
dan:
sudo systemctl restart apache2
"Saya pikir dalam versi php baru. Itu tidak bisa menggunakan count () atau sizeof () dengan tipe un array. Memaksa parameter ke array adalah cara mudah untuk menyelesaikan bug ini, ..."
Terima kasih untuk penulis aslinya untuk pemecahan masalah! Saya mencoba membagikannya!
sumber
Buka
/usr/share/phpmyadmin/sql.lib.php
file dengan hak tinggi, dan edit berikut ini di fungsiPMA_isRememberSortingOrder()
:|| count($analyzed_sql_results['select_expr'] == 1)
|| (count($analyzed_sql_results['select_expr']) == 1)
&& ($analyzed_sql_results['select_expr'][0] == '*')))
&& ($analyzed_sql_results['select_expr'][0] == '*'))
Restart server Apache Anda:
sudo service apache2 restart
.Diuji pada Linux Mint 19.1 berdasarkan Ubuntu 18.04, dengan PhpMyAdmin 4.6.6 dan PHP 7.2.
sumber
Saya mencoba semua solusi di atas tetapi tidak berhasil untuk saya.
Coba ini:-
Instal versi PHP yang diperlukan (dalam kasus saya 7.0) dan kemudian di terminal, ketik
Output akan seperti ini: -
Kemudian Anda dapat beralih ke versi PHP apa pun dengan hanya memasukkan nomor pilihan (dalam kasus saya 1).
Semoga ini bisa membantu lainnya - :)
sumber
Saya memiliki masalah ini ketika menggunakan windows dan respons di atas menyelesaikannya untuk saya, namun ketika saya beralih ke linux (ubuntu 18.04 LTS) saya memiliki masalah yang sama dan tidak dapat menemukan cara untuk menyelesaikannya karena saya tidak melihat file tersebut '/usr/share/phpmyadmin/libraries/sql.lib.php'.
File sql.lib.php ini tidak ada di folder share atau folder phpmyadmin / libraries dari direktori / opt / lampp saya - karena saya menggunakan xampp di ubuntu saya. Berdasarkan pembaruan yang dibuat untuk xampp (karena saya menggunakan instalasi terbaru seperti sekarang) setup.
Jawabannya masih untuk mengganti:
(count($analyzed_sql_results['select_expr'] == 1)
Dengan:
(count($analyzed_sql_results['select_expr']) == 1
Namun file yang dicari
Sql.php
ditemukan di/opt/lampp/phpmyadmin/libraries/classes/Sql.php
Pembaruan di masa depan atau jika Anda masih belum menemukannya: gunakan
grep -r 'count($analyzed_sql_results' /opt/lampp/phpmyadmin
untuk mencari dokumen yang cocok di direktori Anda dan edit sesuaisumber
Ganti Fungsi:
sumber
Edit file
/usr/share/phpmyadmin/libraries/sql.lib.php
Lihat kesalahan pada kesalahan Anda
pergi ke baris ini dan hapus panggilan fungsi.
Ini bekerja untuk saya.
sumber
Saya melihat bahwa Anda semua sedang mengedit atau memperbarui dari file kami
Bagi mereka yang menginginkan pembaruan otomatis, Anda dapat menggunakan PPA Ubuntu kami
sudo add-apt-repository ppa: phpmyadmin / ppa
Dan untuk pengguna Debian Anda harus menunggu versi Debian berikutnya atau menggunakan PPA
Ubuntu 20 memiliki phpMyAdmin 4.9 atau versi yang lebih baru
Masalah Debian di pelacak kami
Masalah yang dapat dihitung pada pelacak kami
Pembaruan TLDR ke versi 4.9 atau 5.0 terbaru untuk mengatasi masalah ini.
sumber
Ini bekerja dengan baik untuk saya di Ubuntu 18.04 .
Buka file sql.lib.php
Ganti kode yang salah ini:
Yang ini:
Simpan file.
Mulai ulang server Anda dengan:
Dan segarkan PhpMyAdmin
sumber
Pada Ubuntu 18.04 dengan MariaDb dan Nginx, saya menyelesaikannya dengan memperbarui file /usr/share/phpmyadmin/libraries/sql.lib.php sebagai berikut:
Jawaban yang disebutkan oleh @Nguyen melempar kesalahan 500 yang mengatakan:
sumber