phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Грешка в съхранението на конфигурацията на phpMyAdmin

След като прегледах кода, попаднах на тази функция.

/**
 * 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;
}

Моите php умения са ограничени, но мога да кажа, че чете файловете в директорията plugins/transformations и връща имената на тези файлове към скриптовете, които препращат към тази функция. Когато прегледах тази директория от терминал, забелязах, че тя е пълна с ._ файлове, създадени от finder. Използвам mac, за да направя разработката си и бях изтеглил това последно копие на phpmyadmin, използвайки finder вместо wget, така че всички тези ._ файлове бяха създадени. Нещо в тях обърка тази функция и след като ги премахнах с команда find на базово ниво, всичко работи както трябва. Ето командата find за всеки, който изпитва нещо подобно:

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

Отново стартирайте това на базовото ниво на директорията phpmyadmin и всичко трябва да е наред.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Не мога да инсталирам phpMyAdmin на CentOS 7 чрез shell

  2. Експортирането на PhpMyAdmin не включва PRIMARY KEY като mysqldump

  3. Как мога да автоматизирам експортирането на mySQL база данни с помощта на phpMyAdmin

  4. httpclient (phpmyadmin) не работи на Android 4.0+

  5. Как да премахнете уникален ключ от конкретно поле на таблицата на mysql