phpMyAdmin
 sql >> Teknologi Basis Data >  >> Database Tools >> phpMyAdmin

kesalahan penyimpanan konfigurasi phpMyAdmin

Setelah melihat-lihat kode, saya menemukan fungsi ini.

/**
 * Gets all available MIME-types
 *
 * @access  public
 * @staticvar   array   mimetypes
 * @return array    array[mimetype], array[transformation]
 */
function PMA_getAvailableMIMEtypes()
{
    static $stack = null;

    if (null !== $stack) {
        return $stack;
    }

    $stack = array();
    $filestack = array();

    $handle = opendir('./libraries/plugins/transformations');

    if (! $handle) {
        return $stack;
    }

    while ($file = readdir($handle)) {
        $filestack[] = $file;
    }

    closedir($handle);
    sort($filestack);

    foreach ($filestack as $file) {
        if (preg_match('|^.*_.*_.*\.class\.php$|', $file)) {
            // File contains transformation functions.
            $parts = explode('_', str_replace('.class.php', '', $file));
            $mimetype = $parts[0] . "/" . $parts[1];
            $stack['mimetype'][$mimetype] = $mimetype;
            $stack['transformation'][] = $mimetype . ': ' . $parts[2];
            $stack['transformation_file'][] = $file;

        } elseif (preg_match('|^.*\.class.php$|', $file)) {
            // File is a plain mimetype, no functions.
            $base = str_replace('.class.php', '', $file);

            if ($base != 'global') {
                $mimetype = str_replace('_', '/', $base);
                $stack['mimetype'][$mimetype] = $mimetype;
                $stack['empty_mimetype'][$mimetype] = $mimetype;
            }
        }
    }

    return $stack;
}

Keahlian php saya terbatas tetapi saya tahu itu membaca file di direktori plugins/transformations dan mengembalikan nama file tersebut ke skrip yang merujuk fungsi ini. Ketika saya menelusuri direktori ini dari terminal, saya perhatikan bahwa direktori itu dipenuhi dengan file ._ yang dibuat oleh finder. Saya menggunakan mac untuk melakukan pengembangan dan saya telah menarik salinan phpmyadmin terbaru ini menggunakan finder alih-alih wget sehingga semua file ._ ini dibuat. Sesuatu tentang mereka mengacaukan fungsi ini dan begitu saya menghapusnya dengan perintah find di tingkat dasar, semuanya berfungsi sebagaimana mestinya. Inilah perintah find untuk siapa saja yang mengalami hal serupa:

find . -type f -name '._*' -exec rm {} \;

Sekali lagi, jalankan itu di tingkat dasar direktori phpmyadmin dan semuanya akan baik-baik saja.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Saya memperbarui ke MariaDB 10.2.20 untuk menggunakan CTE. Masih mendapatkan jenis Pernyataan Tidak Dikenal. (dekat DENGAN) di phpMyAdmin

  2. Kesalahan fatal:Waktu eksekusi maksimum 30 detik terlampaui ketika saya menjalankan lari harian dari situs web saya

  3. masuk ke phpmyadmin dengan mamp

  4. phpMyAdmin - #1267 - Campuran collation ilegal untuk operasi '<'

  5. Stempel Waktu MySQL - mengapa semua nol?