phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

lỗi lưu trữ cấu hình phpMyAdmin

Sau khi xem qua mã, tôi đã kết thúc ở chức năng này.

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

Kỹ năng php của tôi còn hạn chế nhưng tôi có thể biết nó đang đọc qua các tệp trong thư mục plugin / chuyển đổi và trả lại các tên tệp đó cho các tập lệnh tham chiếu đến chức năng này. Khi tôi duyệt qua thư mục này từ một thiết bị đầu cuối, tôi nhận thấy rằng nó chứa đầy các tệp ._ được tạo bởi finder. Tôi sử dụng máy mac để thực hiện quá trình phát triển của mình và tôi đã lấy bản sao phpmyadmin mới nhất này bằng cách sử dụng công cụ tìm thay vì wget, vì vậy tất cả các tệp ._ này đã được tạo. Có điều gì đó về chúng đã làm hỏng chức năng này và khi tôi xóa chúng bằng lệnh tìm ở cấp cơ sở, mọi thứ đều hoạt động như dự định. Đây là lệnh find cho bất kỳ ai gặp phải vấn đề tương tự:

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

Một lần nữa, hãy chạy điều đó ở cấp cơ sở của thư mục phpmyadmin và tất cả đều ổn.




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. phpMyAdmin không thể xuất cơ sở dữ liệu

  2. Cách dễ dàng để sắp xếp lại các cột?

  3. Cập nhật truy vấn PHP MySQL

  4. MySQL # 1054 cột không xác định

  5. Loại bỏ hoàn toàn phpMyAdmin