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.