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

时间:2015-07-23 16:04:42

标签: php mysql elgg wsod

我有一个在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,AFAIK,是最新版本。我重新启动了计算机并安装了最新的更新。以下测试页面对未经训练的眼睛不会产生任何看似异常的东西:

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

phpinfo(); 
exit(); 

?>

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

1 个答案:

答案 0 :(得分:1)

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

mysql_connect();\mysql_connect();

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

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