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'
<?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"
}
}
}
}
}
从 ADMINER_PLUGINS 环境变量中删除插件,因为您正在手动加载它。
参考:https://github.com/TimWolla/docker-adminer/issues/66#issuecomment-561101004