致命错误:在phpMyAdmin中调用未定义的函数__()

时间:2014-10-25 01:56:06

标签: phpmyadmin

我已阅读here以及其他各种链接,但我无法追踪问题......我刚刚安装了Apache24,PHP5,Mysql,(我已经完成了几次多年前的几次)和phMyAdmin刚刚开始工作"开箱即用"这次。

我的info.php显示mysql加载正常。我的apache服务器似乎运行正常并提供页面。但我无法追查问题的根源。

我在Windows 7上...非常感谢一些指示......非常感谢。

确切错误:致命错误:在第229行的C:\ Apache24 \ htdocs \ phpmyadmin \ libraries \ core.lib.php中调用未定义的函数__()

调用堆栈 - 不确定如何生成此...

第229行问题的代码行标记为:

function PMA_fatalError(
    $error_message, $message_args = null, $delete_session = true
) {
    /* Use format string if applicable */
    if (is_string($message_args)) {
        $error_message = sprintf($error_message, $message_args);
    } elseif (is_array($message_args)) {
        $error_message = vsprintf($error_message, $message_args);
    }

if ($GLOBALS['is_ajax_request']) {
    $response = PMA_Response::getInstance();
    $response->isSuccess(false);
    $response->addJSON('message', PMA_Message::error($error_message));
} else {
    $error_message = strtr($error_message, array('<br />' => '[br]'));

    /* Load gettext for fatal errors */
    if (!function_exists('__')) {
        include_once GETTEXT_INC;
    }

    // these variables are used in the included file libraries/error.inc.php
    $error_header = __('Error');  /* Line 229 */
    $lang = $GLOBALS['available_languages'][$GLOBALS['lang']][1];
    $dir = $GLOBALS['text_dir'];

    // on fatal errors it cannot hurt to always delete the current session
    if ($delete_session
        && isset($GLOBALS['session_name'])
        && isset($_COOKIE[$GLOBALS['session_name']])
    ) {
        $GLOBALS['PMA_Config']->removeCookie($GLOBALS['session_name']);
    }

    // Displays the error message
    include './libraries/error.inc.php';
}
if (! defined('TESTSUITE')) {
    exit;
    }
}

/**

3 个答案:

答案 0 :(得分:0)

检查您的会话目录是否可由Web服务器进程写入。

最好的方法是创建自己的phpinfo文件;在任何Web可访问文件夹中创建一个文件(您可以将其称为test.php或phpinfo.php或任何您喜欢的文件),其中包含以下内容:

<?php
phpinfo();
?>

在浏览器中打开该文件(http://localhost/test.php或类似文件),然后查找第session.save_path行。那是你的会话文件夹;确保权限合适,看看是否有帮助。

答案 1 :(得分:0)

我还研究过here和其他链接无济于事。我终于确定没有安装PHP5 JSON模块。您必须确定如何为您的平台安装它。它应该在您的phpinfo列表中显示为启用JSON支持。

答案 2 :(得分:0)

我在Windows上遇到此问题。执行以下操作:

  1. 关闭Apache httpd(或您运行的服务器)

  2. 打开php.ini文件。如果您没有,请从php.ini-production或php.ini-development复制粘贴

  3. 取消注释“extension = php_mbstring.dll”和“extension = php_mysqli.dll”

  4. 插入行“extension_dir = full_path_to_your_ext_folder”。您需要指向php安装的ext子文件夹,其中上面指定的dll文件位于

  5. 保存并重新启动Web服务器