Fatal error: Call to a member function get() on a non-object in .../core/model/modx/modmanagerresponse.class.php on line 41
В моем случае это означало, что не происходит подключения к базе дынных (с какого-то непонятного перепуга удалились пользователи mysql).
Создаем файл testmysql.php, внутрь помещает простой php код, где вводим данные, расположенные в файле ../core/config/config.inc.php на строках (по умолчанию) $database_user, $database_password и $dbase:
<?php
$server = 'localhost';
$user = ''; //внутрь кавычек вставить значение из $database_user (../core/config/config.inc.php)
$password = ''; //внутрь кавычек вставить значение из $database_password (../core/config/config.inc.php)
$dblink = mysql_connect($server, $user, $password);
if($dblink)
echo '<b>OK.</b> - Soedinenie ustanovleno.';
else
die('<b>Error</b> - Oshibka podklucheniya k serveru baz dannih'); //Ошибка подключения к серверу баз данных.
$database = ''; //внутрь кавычек вставить название вашей базы данных из $dbase (../core/config/config.inc.php)
$selected = mysql_select_db($database, $dblink);
if($selected)
echo ' <b>OK.</b> - Podkluchenie k baze dannih proshlo uspechno'; // Подключение к базе данных прошло успешно.
else
die(' <b>Error</b> - baza dannih ne naidena ili otsutstvuet dostup'); // База данных не найдена или отсутствует доступ.
?>
Заливаем этот файлик на сервер, открываем его, переходя по ссылке [ваш сайт]/testmysql.php и любуемся ошибками. Окей. Хорошо, теперь будем их решать.
Итак. Открываем putty, вводим в поле "Имя хоста (или IP-адрес)" именно то, что и просит поле - имя хоста, или ip:)
Во вкладке "Соединение - данные" (левое меню) в поле "имя пользователя" для автовхода вводим ваш root-логин, в поле "Пароль для автовхода" вводим соответственно root-пароль. Жмем кнопку "Соединиться".
перед нами командная строка, и вы должны увидеть что-то вроде:
Using username "root". root@111.111.111.1's password: Send automatic password Last login: Sat Apr 12 05:16:40 2014 from 222.22.222.22 [root@[сервер] ~]#
Все ок, вводим команду для подключения к mysql:
mysql -u[Ваш root-логин] -p[Ваш root-пароль (если пароля нет, оставьте пустым)]
Команда будет например такой - mysql -uroot -pmy_pass123
Отлично, подключились, видим предложение ввести команду:
mysql>
Для начала я бы взглянул на список всех баз дынных, для этого вводим команду:
mysql> show databases;
Окей, базы есть, интересующая нас база есть в этом списке. Отлично, теперь нужно выбрать необходимую нам базу:
mysql> use [Имя вашей базы без квадратных скобок];
получаем сообщение вроде "Database changed". Все отлично, идем дальше. Создаем нового пользователя для базы:
mysql> CREATE USER '[Имя пользователя без квадратных скобок]'@'localhost' IDENTIFIED BY '[пароль без квадратных скобок]';
Пользователя создали, теперь нужно еще добавить кое что:
mysql> GRANT ALL PRIVILEGES ON [имя вашей базы без квадратных скобок].* TO '[Имя пользователя без квадратных скобок]'@'localhost' WITH GRANT OPTION;
Все окей, если же нет, и например выдает синтаксическую ошибку проверьте все ли символы вы введи верно, особое внимание на одинарные кавычки, их легко пропустить.
Теперь возвращаемся в файл ../core/config/config.inc.php и вводим новые данные в поля $database_user и $database_password.
Лично мне это алгоритм помог решить проблему.
Полезные ссылки:
http://howto.memcrab.com/2012/01/mysql.html - MySQL. Два способа создания аккаунтов/пользователей.
http://rtfm.co.ua/mysql-commands/ - Наиболее используемые команды MySQL.
http://winscp.net/eng/docs/lang:ru - визуальный SSH клиент. (но почему-то через его терминал не получается вводить все те команды, которые я предлагаю вводить через putty. Поэтому его скорее можно использовать как файловый менеджер:))