phpMyAdmin的配置存储器错误(phpMyAdmin configuration storag

2019-10-19 17:14发布

我在与phpMyAdmin 4.0.10一个奇怪的问题。 首先是因为我的MySQL版本是57年5月1日我在运行此版本。

我有phpMyAdmin设置和配置除了存储设置应有尽有。 我创建了phpmyadmin的数据库和必要的表。 我还创建了PMA用户,并确保所有的权限是正确的。 在我的配置文件我已经添加了设置该用户和复制的密码。

如果我在这一点上节省我的配置,而无需实际设置存储数据库和表一切工作就好了。 但是,如果我让这些表我得到了我的日志以下错误消息500每当我尝试将列添加到表的结构。

PHP Fatal error:  Call to undefined function ._Application_Octetstream_Download_getInfo() in /htdocs/phpmyadmin/libraries/transformations.lib.php on line 153

任何想法是怎么回事? 我已经删除并重新创建我的phpMyAdmin的数据库。 我已经删除并重新创建的PMA用户。 我已经删除并重新创建我的配置文件,这就是我如何跟踪,最终这个错误倒在存储表中。

如果有帮助,这是一段代码导致的transformations.lib.php文件中的问题:

/**
 * Returns the description of the transformation
 *
 * @param string  $file           transformation file
 * @param boolean $html_formatted whether the description should be formatted
 *                                as HTML
 *
 * @return String the description of the transformation
 */
function PMA_getTransformationDescription($file, $html_formatted = true)
{
    // get the transformation class name
    $class_name = explode(".class.php", $file);
    $class_name = $class_name[0];

    // include and instantiate the class
    include_once 'libraries/plugins/transformations/' . $file;
    return $class_name::getInfo();
}

Answer 1:

通过代码看后,我结束了在此功能。

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

我的PHP技能是有限的,但我可以告诉它通读文件在plugins /转换目录,并返回这些文件的名称来引用此功能的脚本。 当我从终端浏览该目录,我注意到它是通过取景器创建._文件填充。 我使用的是Mac做对我的发展,我一直在使用取景器,而不是这样的wget所有这些._文件的创建拉升的phpmyadmin的这一最新副本。 关于他们的事情搞砸了这个功能,一旦我在基地水平find命令删除它们按预期一切正常。 下面是任何人都遇到类似的东西find命令:

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

再次,运行在phpMyAdmin的目录的基础水平,都应该很好。



文章来源: phpMyAdmin configuration storage error
标签: phpmyadmin