sql >> Database >  >> Database Tools >> phpMyAdmin

phpMyAdmin configuratie opslagfout

Na het doorbladeren van de code kwam ik bij deze functie terecht.

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

Mijn php-vaardigheden zijn beperkt, maar ik kan zien dat het de bestanden in de map met plug-ins/transformaties doorleest en die bestandsnamen terugstuurt naar de scripts die naar deze functie verwijzen. Toen ik door deze map bladerde vanaf een terminal, merkte ik dat deze vol was met ._-bestanden gemaakt door vinder. Ik gebruik een mac om mijn ontwikkeling op te doen en ik had dit laatste exemplaar van phpmyadmin getrokken met Finder in plaats van wget, dus al deze ._-bestanden werden gemaakt. Iets aan hen heeft deze functie in de war gebracht en toen ik ze eenmaal verwijderde met een zoekcommando op het basisniveau, werkte alles zoals bedoeld. Hier is het zoekcommando voor iedereen die iets soortgelijks ervaart:

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

Voer dat nogmaals uit op het basisniveau van de phpmyadmin-directory en alles zou in orde moeten zijn.




  1. Phpmyadmin-toegang geweigerd na wijziging naar oudere versies van PHP/Apache op Wampserver

  2. Sql Server Management Studio sluit onmiddellijk na het opstarten

  3. PhpMyAdmin werkt niet op localhost

  4. Yii2 krijgt product-ID gescheiden door komma