我正在使用 phpMyAdmin v3.4.10.1deb1 来管理我的 Ubuntu-Server 上的一些 MySQL 表,这些表的字段具有 SQL 格式的“TEXT”。显示这些字段时,默认情况下会截断它们。我总是必须单击符号“←T→”才能将文本展开到完整长度。但是我不想在每一个查询上都点击,因为这意味着每一个查询都会被执行两次。
我希望“全文”是默认的。但我找不到设置这个的地方。
你能帮我吗?
我正在使用 phpMyAdmin v3.4.10.1deb1 来管理我的 Ubuntu-Server 上的一些 MySQL 表,这些表的字段具有 SQL 格式的“TEXT”。显示这些字段时,默认情况下会截断它们。我总是必须单击符号“←T→”才能将文本展开到完整长度。但是我不想在每一个查询上都点击,因为这意味着每一个查询都会被执行两次。
我希望“全文”是默认的。但我找不到设置这个的地方。
你能帮我吗?
我在 phpMyAdmin 中有一个选项:Settings > Main Panel > Browse Mode
称为:Limit column characters
您可以在其中更改默认字符限制(50)。但是我不相信您可以将其默认设置为不限制...
从 phpMyAdmin 5 开始,遵循 Alan Dev 的以下评论:主页 -> 常规设置 -> 更多设置 -> 主面板 -> 浏览模式 -> 限制列字符
第一:如果没有必要,不要更改核心文件。
要在 PMA 版本 4.5.4.1 中实现这一点,您只需将此行添加到您的config.inc.php:
if ( !isset($_REQUEST['pftext'])) $_REQUEST['pftext'] = 'F';
默认情况下,这将始终将结果设置为 FULL TEXT,如果需要部分显示,您可以切换
更改列字符的限制
Select "Browse" option of any table
Select Settings gear icon at top right corner
Change character limit in "Limit column characters box" according to your need
Press Apply
这是 hacky 解决方案(对我有用),但需要更改一些 PMA php 文件。如果你知道你在做什么,你可以试试这个:
phpmyadmin/libraries/display_tbl.lib.php
PMA_displayTable_checkConfigParams
if (!isset($_REQUEST['display_text'])) $_REQUEST['display_text'] = 'F';
这将默认启用“全文”,允许您切换回“部分文本”模式。
请注意,我是在稍微不同的 PMA 版本(3.5.2.2)上测试的,所以函数/文件名可能不同。
当前稳定版本(4.5.0)的等效补丁:
diff --git a/libraries/DisplayResults.class.php b/libraries/DisplayResults.class.php
index e435a21..7129c15 100644
--- a/libraries/DisplayResults.class.php
+++ b/libraries/DisplayResults.class.php
@@ -4101,7 +4101,9 @@ class PMA_DisplayResults
} elseif (empty($query['pos'])) {
$query['pos'] = 0;
}
-
+ if (!isset($_REQUEST['pftext'])) {
+ $_REQUEST['pftext'] = self::DISPLAY_FULL_TEXT;
+ }
if (PMA_isValid(
$_REQUEST['pftext'],
array(
是的,这很烦人。
上面的答案(3)为我指明了正确的方向,但自从他的回复以来,例程名称已经改变。
我正在使用带有版本的 WAMP:PHPMyAdmin 的 4.5.5。
1) 打开位于“C:/WAMP/PHPMyAdmin/libraries”中的文件“DisplayResultsClass.php”。
2) 搜索“私有函数_getFullOrPartialTextButtonOrLink()”
3)在左大括号“{”之后,在上面的行之后,添加下面的代码行:-
“如果 (!isset($_REQUEST['full_text_button'])) _REQUEST['full_text_button'] = 'F';”
这会打开“全文”单选按钮。
关闭 PHPMyAdmin 并重新打开它。默认保留(当然,直到您更新或重新安装 WAMP 或 PHPMyAdmin!天知道他们为什么没有在配置文件中创建默认值。如果他们这样做了,我当然找不到它。
每次显然这应该是默认设置时,我都厌倦了切换到“全文”。这让我觉得作者是故意试图让程序员兴奋起来。
约翰
它在5.0.2
docker 容器中运行的版本中对我有用:
docker exec -it [your_container_name] sh
;apt-get update
;apt-get install vim
;vim ./libraries/classes/Display/Results.php
;i
键盘上的字母进入 INSERT 模式vim
;_getPartialText
文件底部的函数,如下所示;ESC
键。这会让你退出 INSERT 模式;:wq
;/**
* Truncates given string based on LimitChars configuration
* and Session pftext variable
* (string is truncated only if necessary)
*
* @param string $str string to be truncated
*
* @return mixed
*
* @access private
*
* @see _handleNonPrintableContents(), _getDataCellForGeometryColumns(),
* _getDataCellForNonNumericColumns
*/
private function _getPartialText($str)
{
$original_length = mb_strlen($str);
/*
if ($original_length > $GLOBALS['cfg']['LimitChars']
&& $_SESSION['tmpval']['pftext'] === self::DISPLAY_PARTIAL_TEXT
) {
$str = mb_substr(
$str,
0,
(int) $GLOBALS['cfg']['LimitChars']
) . '...';
$truncated = true;
} else {
$truncated = false;
}
*/
$truncated = false;
return [
$truncated,
$str,
$original_length,
];
}
Dziad Borowy 的回答是正确的,因为您不能设置“无限制”。
话虽如此,该线程上的所有答案似乎都忽略了对最大字符数的永久修复,所以这里是:
转到您的 PMA 服务器。找到 phpMyAdmin 配置文件,config.inc.php
:
locate config.inc.php
使用您选择的文本编辑器查找以下字符串:
$cfg['LimitChars']
将值更改为您想要的任何值(默认为50
):
$cfg['LimitChars'] = 1000;
写完就退出。PMA 不需要重新启动,更改应该会自动应用。