{"id":15241,"date":"2026-09-08T17:26:43","date_gmt":"2026-09-08T09:26:43","guid":{"rendered":"https:\/\/blog.hoyo.idv.tw\/?p=15241"},"modified":"2026-09-08T17:26:43","modified_gmt":"2026-09-08T09:26:43","slug":"%e5%b0%87-phpmyadmin-6-0-%e9%81%8b%e4%bd%9c%e5%9c%a8-docker-%e4%b8%8a","status":"publish","type":"post","link":"https:\/\/blog.hoyo.idv.tw\/?p=15241","title":{"rendered":"\u5c07 phpMyAdmin 6.0 \u904b\u4f5c\u5728 docker \u4e0a"},"content":{"rendered":"<p>--<\/p>\n<h2>\u70ba\u4ec0\u9ebc\u8981\u5f37\u5236\u5347\u7d1a\u5230 6.0<\/h2>\n<ul>\n<li>\u8cc7\u6599\u985e\u578b\u652f\u63f4 vector \u5411\u91cf\u683c\u5f0f ( mariadb 11.8 \u4ee5\u4e0a)<\/li>\n<li>\u700f\u89bd\u901f\u5ea6\u548c\u67e5\u8a62\u901f\u5ea6\u4e00\u81f4\u30025.2.3 \u4e4b\u524d\u67e5\u8a62\u6642\u9593\u82b1\u4e0d\u5230 1 \u79d2\uff0c\u986f\u793a\u537b\u5e38\u5e38\u9700\u8981 N \u79d2\u4ee5\u4e0a<\/li>\n<\/ul>\n<p>--<\/p>\n<h2>docker-compose.yml<\/h2>\n<pre class=\"lang:default decode:true\">  phpmyadmin:\r\n    image: phpmyadmin:5.2.3-apache\r\n    container_name: phpmyadmin\r\n    restart: always\r\n    ports:\r\n      - 8900:80\r\n    environment:\r\n      - PMA_ARBITRARY=1\r\n      - UPLOAD_LIMIT=500M\r\n      - MEMORY_LIMIT=512M\r\n      - MAX_EXECUTION_TIME=3600\r\n    volumes:\r\n      - \/docker\/db\/phpmyadmin6:\/var\/www\/html\r\n      - \/docker\/db\/config.inc6.php:\/var\/www\/html\/config.inc.php\r\n<\/pre>\n<p>--<\/p>\n<h2>\u5c07 5.2.3 \u66f4\u65b0\u6210 6.0<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.phpmyadmin.net\/downloads\/\">Downloads \u00b7 phpMyAdmin<\/a><\/li>\n<\/ul>\n<p>\u4e0b\u8f09 <a href=\"https:\/\/files.phpmyadmin.net\/snapshots\/phpMyAdmin-6.0+snapshot-all-languages.zip\">phpMyAdmin-6.0+snapshot-all-languages.zip<\/a> \u89e3\u58d3\u7e2e\u5230 <strong>\/docker\/db\/phpmyadmin6<\/strong><\/p>\n<p>--<\/p>\n<h2>config.inc6.php<\/h2>\n<p>\u5f9e\u820a\u7248\u8907\u88fd\u4fee\u6539\u7684\uff0c\u767b\u5165\u6642\u624d\u6709\u4f3a\u670d\u5668\u6b04\u4f4d\u51fa\u73fe<\/p>\n<pre class=\"lang:default decode:true\">&lt;?php\r\n\r\n\/* Ensure we got the environment *\/\r\n$vars = [\r\n    'PMA_ARBITRARY',\r\n    'PMA_HOST',\r\n    'PMA_HOSTS',\r\n    'PMA_VERBOSE',\r\n    'PMA_VERBOSES',\r\n    'PMA_PORT',\r\n    'PMA_PORTS',\r\n    'PMA_SOCKET',\r\n    'PMA_SOCKETS',\r\n    'PMA_USER',\r\n    'PMA_PASSWORD',\r\n    'PMA_ABSOLUTE_URI',\r\n    'PMA_CONTROLHOST',\r\n    'PMA_CONTROLPORT',\r\n    'PMA_PMADB',\r\n    'PMA_CONTROLUSER',\r\n    'PMA_CONTROLPASS',\r\n    'PMA_QUERYHISTORYDB',\r\n    'PMA_QUERYHISTORYMAX',\r\n    'MAX_EXECUTION_TIME',\r\n    'MEMORY_LIMIT',\r\n    'PMA_UPLOADDIR',\r\n    'PMA_SAVEDIR',\r\n];\r\n\r\n$cfg['LoginCookieValidity'] = 86400;\r\n$cfg['VersionCheck'] = false;\r\n\r\nforeach ($vars as $var) {\r\n    $env = getenv($var);\r\n    if (!isset($_ENV[$var]) &amp;&amp; $env !== false) {\r\n        $_ENV[$var] = $env;\r\n    }\r\n}\r\nif (isset($_ENV['PMA_QUERYHISTORYDB'])) {\r\n    $cfg['QueryHistoryDB'] = (bool) $_ENV['PMA_QUERYHISTORYDB'];\r\n}\r\n\r\nif (isset($_ENV['PMA_QUERYHISTORYMAX'])) {\r\n    $cfg['QueryHistoryMax'] = (int) $_ENV['PMA_QUERYHISTORYMAX'];\r\n}\r\n\r\n\/* Arbitrary server connection *\/\r\nif (isset($_ENV['PMA_ARBITRARY']) &amp;&amp; $_ENV['PMA_ARBITRARY'] === '1') {\r\n    $cfg['AllowArbitraryServer'] = true;\r\n}\r\n\r\n\/* Play nice behind reverse proxys *\/\r\nif (isset($_ENV['PMA_ABSOLUTE_URI'])) {\r\n    $cfg['PmaAbsoluteUri'] = trim($_ENV['PMA_ABSOLUTE_URI']);\r\n}\r\n\r\n\/* Figure out hosts *\/\r\n\r\n\/* Fallback to default linked *\/\r\n$hosts = ['db'];\r\n\r\n\/* Set by environment *\/\r\nif (! empty($_ENV['PMA_HOST'])) {\r\n    $hosts = [$_ENV['PMA_HOST']];\r\n    $verbose = [$_ENV['PMA_VERBOSE']];\r\n    $ports = [$_ENV['PMA_PORT']];\r\n} elseif (! empty($_ENV['PMA_HOSTS'])) {\r\n    $hosts = array_map('trim', explode(',', $_ENV['PMA_HOSTS']));\r\n    $verbose = array_map('trim', explode(',', $_ENV['PMA_VERBOSES']));\r\n    $ports = array_map('trim', explode(',', $_ENV['PMA_PORTS']));\r\n}\r\n\r\nif (! empty($_ENV['PMA_SOCKET'])) {\r\n    $sockets = [$_ENV['PMA_SOCKET']];\r\n} elseif (! empty($_ENV['PMA_SOCKETS'])) {\r\n    $sockets = explode(',', $_ENV['PMA_SOCKETS']);\r\n}\r\n\r\n\/* Server settings *\/\r\nfor ($i = 1; isset($hosts[$i - 1]); $i++) {\r\n    $cfg['Servers'][$i]['host'] = $hosts[$i - 1];\r\n    if (isset($verbose[$i - 1])) {\r\n        $cfg['Servers'][$i]['verbose'] = $verbose[$i - 1];\r\n    }\r\n    if (isset($ports[$i - 1])) {\r\n        $cfg['Servers'][$i]['port'] = $ports[$i - 1];\r\n    }\r\n    if (isset($_ENV['PMA_USER'])) {\r\n        $cfg['Servers'][$i]['auth_type'] = 'config';\r\n        $cfg['Servers'][$i]['user'] = $_ENV['PMA_USER'];\r\n        $cfg['Servers'][$i]['password'] = isset($_ENV['PMA_PASSWORD']) ? $_ENV['PMA_PASSWORD'] : '';\r\n    } else {\r\n        $cfg['Servers'][$i]['auth_type'] = 'cookie';\r\n    }\r\n    if (isset($_ENV['PMA_PMADB'])) {\r\n      $cfg['Servers'][$i]['pmadb'] = $_ENV['PMA_PMADB'];\r\n      $cfg['Servers'][$i]['relation'] = 'pma__relation';\r\n      $cfg['Servers'][$i]['table_info'] = 'pma__table_info';\r\n      $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';\r\n      $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';\r\n      $cfg['Servers'][$i]['column_info'] = 'pma__column_info';\r\n      $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';\r\n      $cfg['Servers'][$i]['history'] = 'pma__history';\r\n      $cfg['Servers'][$i]['recent'] = 'pma__recent';\r\n      $cfg['Servers'][$i]['favorite'] = 'pma__favorite';\r\n      $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';\r\n      $cfg['Servers'][$i]['tracking'] = 'pma__tracking';\r\n      $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';\r\n      $cfg['Servers'][$i]['users'] = 'pma__users';\r\n      $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';\r\n      $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';\r\n      $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';\r\n      $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';\r\n      $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';\r\n      $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';\r\n    }\r\n    if (isset($_ENV['PMA_CONTROLHOST'])) {\r\n      $cfg['Servers'][$i]['controlhost'] = $_ENV['PMA_CONTROLHOST'];\r\n    }\r\n    if (isset($_ENV['PMA_CONTROLPORT'])) {\r\n      $cfg['Servers'][$i]['controlport'] = $_ENV['PMA_CONTROLPORT'];\r\n    }\r\n    if (isset($_ENV['PMA_CONTROLUSER'])) {\r\n      $cfg['Servers'][$i]['controluser'] = $_ENV['PMA_CONTROLUSER'];\r\n    }\r\n    if (isset($_ENV['PMA_CONTROLPASS'])) {\r\n      $cfg['Servers'][$i]['controlpass'] = $_ENV['PMA_CONTROLPASS'];\r\n    }\r\n    $cfg['Servers'][$i]['compress'] = false;\r\n    $cfg['Servers'][$i]['AllowNoPassword'] = true;\r\n}\r\nfor ($i = 1; isset($sockets[$i - 1]); $i++) {\r\n    $cfg['Servers'][$i]['socket'] = $sockets[$i - 1];\r\n    $cfg['Servers'][$i]['host'] = 'localhost';\r\n}\r\n\/*\r\n * Revert back to last configured server to make\r\n * it easier in config.user.inc.php\r\n *\/\r\n$i--;\r\n\r\n\/* Uploads setup *\/\r\nif (isset($_ENV['PMA_UPLOADDIR'])) {\r\n    $cfg['UploadDir'] = $_ENV['PMA_UPLOADDIR'];\r\n}\r\n\r\nif (isset($_ENV['PMA_SAVEDIR'])) {\r\n    $cfg['SaveDir'] = $_ENV['PMA_SAVEDIR'];\r\n}\r\n\r\nif (isset($_ENV['MAX_EXECUTION_TIME'])) {\r\n    $cfg['ExecTimeLimit'] = $_ENV['MAX_EXECUTION_TIME'];\r\n}\r\n\r\nif (isset($_ENV['MEMORY_LIMIT'])) {\r\n    $cfg['MemoryLimit'] = $_ENV['MEMORY_LIMIT'];\r\n}\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>--<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"15241\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;1&nbsp;total views, &nbsp;1&nbsp;views today<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>-- \u70ba\u4ec0\u9ebc\u8981\u5f37\u5236\u5347\u7d1a\u5230 6....<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p class=\"pvc_stats all \" data-element-id=\"15241\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> &nbsp;1&nbsp;total views, &nbsp;1&nbsp;views today<\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[31],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/15241"}],"collection":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15241"}],"version-history":[{"count":6,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/15241\/revisions"}],"predecessor-version":[{"id":15247,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=\/wp\/v2\/posts\/15241\/revisions\/15247"}],"wp:attachment":[{"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.hoyo.idv.tw\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}