我在Ubuntu12.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 144Apache2可以加载HTML和PHP页面,我可以从命令行登录到MySQL。我重新启动了apache2和mysql。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连接,但我无法证实这一点。简单地说,我很困惑。考虑到错误是undefined function Elgg\\mysql_connect(),我猜想某些东西在配置级别上出了问题,但我不知道如何修复它,也不知道是什么原因造成的。接下来我该试试什么呢?
发布于 2015-07-23 16:12:42
这很可能是一个名称空间问题。PHP假设它自己的原生mysql是在Elgg\命名空间中声明的函数。因此,转到'Database.php',在第144号行上更改:
mysql_connect();到\mysql_connect();
\反斜杠将指示php此函数存在于Elgg\命名空间之外或全局范围内。
您可能会遇到类似的问题,您必须使用上述方法来解决这些问题。
https://stackoverflow.com/questions/31592601
复制相似问题