Экран Elgg white: неопределенная функция Elgg \\ mysql_connect ()

У меня есть веб-сайт Elgg, работающий на Ubuntu 12.04, который внезапно начал создавать белый экран смерти. Никаких изменений не было внесено ни в какие 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 из командной строки. Я перезапустил apache2 а также mysql, PHP, AFAIK, в последней версии. Я перезагрузил компьютер и установил самые последние обновления. На следующей тестовой странице нет ничего необычного для неопытного глаза:

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

phpinfo();
exit();

?>

Эта почта заставляет меня думать, что может быть обновление запустилось и разорвало соединение PHP / mysql, но я не могу этого подтвердить. Проще говоря, я в тупике. Учитывая, что ошибкаundefined function Elgg\\mysql_connect()Я предполагаю, что что-то пошло не так на уровне конфигурации, но я понятия не имею, как это исправить, и нет никаких твердых предположений относительно того, что могло вызвать это. Что я должен попробовать дальше?

1

Решение

Это, скорее всего, проблема с пространством имен. PHP предполагает, что его собственный mysql api является функцией, объявленной внутри Elgg\ Пространство имен. Итак, перейдите к 'Database.php' и в строке 144 изменить:

mysql_connect();
в
\mysql_connect();

\ обратная косая черта проинструктирует php, что эта функция существует вне Elgg\ пространство имен или в рамках глобальной области.

Вероятно, вы столкнетесь с похожими проблемами, которые вы должны решить, используя тот же метод, который описан выше.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]