如何在Adminer中使用Pretty JSON Column插件?

问题描述 投票:0回答:1

管理员漂亮的 JSON 列插件代码在这里

Docker 组合

version: '3.7'
services:
    adminer:
        image: 'adminer:latest'
        restart: always
        user: root
        ports:
            - '8080:8080'
        volumes:
            - ./plugins/pretty-json-column.php:/var/www/html/plugins-enabled/pretty-json-column.php
        environment:
            - PUID=0
            - PGID=0
            - 'ADMINER_DESIGN=dracula'
            - 'ADMINER_PLUGINS=dump-json dump-xml dump-zip'

插件/pretty-json-column.php

<?php
require_once('plugins/pretty-json-column.php');

/**
Set json text??????
@param array (I think???)
**/

return new AdminerPrettyJsonColumn(
    $adminer = ???
);

我尝试制作

$adminer = json_encode($value, JSON_PRETTY_PRINT)
,但是当我在Adminer中测试时,出现错误

**Fatal error**: Uncaught Error: Call to a member function _callParent() on string in /var/www/html/plugins/pretty-json-column.php:38 Stack trace: #0 /var/www/html/plugins/plugin.php(47): AdminerPrettyJsonColumn->processInput(Array, '{"glossary":{"t...', '') #1 /var/www/html/plugins/plugin.php(355): AdminerPlugin->_applyPlugin('processInput', Array) #2 /var/www/html/adminer.php(124): AdminerPlugin->processInput(Array, '{\r\n "glossar...', '') #3 /var/www/html/adminer.php(1597): process_input(Array) #4 /var/www/html/index.php(42): require('/var/www/html/a...') #5 {main} thrown in **/var/www/html/plugins/pretty-json-column.php** on line **38**

我不确定如何阅读该插件,并且文档没有帮助。

我的示例 JSON 数据(由 https://json.org/example.html 提供):

{
    "glossary": {
        "title": "example glossary",
        "GlossDiv": {
            "title": "S",
            "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
                    "SortAs": "SGML",
                    "GlossTerm": "Standard Generalized Markup Language",
                    "Acronym": "SGML",
                    "Abbrev": "ISO 8879:1986",
                    "GlossDef": {
                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
                        "GlossSeeAlso": ["GML", "XML"]
                    },
                    "GlossSee": "markup"
                }
            }
        }
    }
}
php json database plugins adminer
1个回答
0
投票

从 ADMINER_PLUGINS 环境变量中删除插件,因为您正在手动加载它。

参考:https://github.com/TimWolla/docker-adminer/issues/66#issuecomment-561101004

© www.soinside.com 2019 - 2024. All rights reserved.