在过去的三天里,我一直在努力在我的 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-*