Elgg 白屏:未定义函数 Elgg\\mysql_connect()

Elgg white screen: undefined function Elgg\\mysql_connect()

我在 Ubuntu 12.04 上有一个 Elgg 网站 运行,它突然开始出现死机白屏。没有对任何 PHP 文件进行任何更改,所有这些文件在片刻之前都在工作。这是我在 apache error.log:

中遇到的唯一错误
[Thu Jul 23 09:45:49.672038 2015] [:error] [pid 6905] [client 127.0.0.1:53280] PHP Fatal error:  Call to undefined function Elgg\mysql_connect() in /var/www/my-website/engine/classes/Elgg/Database.php on line 144

Apache2 可以加载 HTML 和 PHP 页面,我可以从命令行登录 MySQL。我重新启动了 apache2mysql。 PHP,据我所知,是最新版本。我已重新启动计算机并安装了最新的更新。以下测试页面没有产生任何在未经训练的人看来不正常的内容:

<?php
echo "Test!";
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

phpinfo(); 
exit(); 

?>

This post 让我觉得 可能 更新 运行 并中断了 PHP / mysql 连接,但我无法确认。简单地说,我很难过。鉴于错误是 undefined function Elgg\mysql_connect(),我假设在配置级别出现了问题,但我不知道如何修复它,也不知道是什么导致了它。接下来我应该尝试什么?

很可能是命名空间问题。 PHP 假设它自己的原生 mysql api 是在 Elgg\ 命名空间内声明的函数。因此,转到 'Database.php' 并在第 144 行更改:

mysql_connect();\mysql_connect();

\ 反斜杠将指示 php 此函数存在于 Elgg\ 命名空间之外,或在全局范围内。

您可能会遇到类似的问题,您必须使用与上述相同的方法解决这些问题。