不同应用程序触发“PHP 致命错误:调用未定义函数”

不同应用程序触发“PHP 致命错误:调用未定义函数”

在过去的三天里,我一直在努力在我的 Kubuntu 15.04 机器上运行几个 PHP 应用程序(phpmyadmin 和 drupal 7),并且不断收到“PHP 致命错误:调用未定义的函数”错误,我无法弄清楚原因。

我已经卸载并重新安装了这些应用程序以及整个灯堆栈,确保没有未满足的依赖关系(至少我是这样认为的......),但无济于事,浏览器仍然显示白屏,并且从 /var/log/apache2/error.log 可以读取如下所示的相同错误:

  • 启动时http://localhost/drupal/install.php

    [:error] [pid 20641] [client 127.0.0.1:45554] PHP Fatal error:  Call to undefined function json_encode() in /var/www/drupal/includes/common.inc on line 5095
    

    --> 第 5095 行所引用文件的内容为:

    // Encode <, >, ', &, and " using the json_encode() options parameter.
    return json_encode($var, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT);
    
  • 启动 localhost/phpmyadmin 时:

    [:error] [pid 20645] [client 127.0.0.1:45623] PHP Fatal error:  Call to undefined function __() in /usr/share/phpmyadmin/libraries/core.lib.php on line 235
    

    --> 第 235 至 237 行所引用文件的内容为:

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

虽然列出的错误影响不同的文件,我不明白它们的作用是什么,但在我看来,它们一定是相关的,并且是同一个问题的一部分。我也遇到过同样的情况,尝试运行 Adminer,但不再有错误日志……此外,调用时phpinfo()会提供报告,看起来 php 运行正常。还必须说,我对 Linux 了解不多。

我该如何继续?

答案1

首先,这实际上与 Ubuntu 无关,但您缺少一些 PHP 扩展。

要将此特定扩展添加到您的系统,请发出以下命令:

sudo apt-get install php5-json

甚至更好的是,安装所有支持的扩展:

sudo apt-get install php5-*

相关内容