Перешел на новый хостинг
PHP Version 5.2.4
Mysq Client API version 5.0.45
Mysql 5.1.22-rc-community
На главной странице админки выдает:
Error while inserting event log into database.
Так же было замечено в скрипте CNStats, когда в запросе к БД в качестве значения для поля типа интежер передается пустое текстовое значение ’’, mysql выдает ошибку. Полагаю, что если число передать в кавычках, как текст, то тоже будет ошибка.
Изменил.
Вот че выдает:
« Execution of a query to the database failed - Data too long for column ’source’ at row 1 »
SQL: INSERT INTO `homedistiller`.`modx_event_log` (eventid,type,createdon,source,description,user) VALUES(0,2,1194595161,’Файл конфигурации все еще доступен для записи, установите атрибут \"Только для чтения\".’,’Злоумышленники потенциально могут нанести вред Вашему сайту. Серьёзно. Пожалуйста, установите права доступа к файлу конфигурации (/manager/includes/config.inc.php) в режим \"Только для чтения\"’,’1’)
Я думаю не только с логом такие косяки возможны. По идее строка должна обрезаться.
У меня версия БД коннектора меньше, чем БД сервера, может из-за этого возникает ошибка?
Я поискал в интернете ...
Это из-за кодировки, мать иё!
Пишут, что спасает запрос SET CHARSET CP1251
Но он то у меня должен делаться, ведь у меня $database_connection_charset = ’CP1251’
Наверное в этот запрос не выполняется во фрейме с главной страницей админки.
Не охото ковыряться в коде МОДх, попробую завтра зерез my.ini сделать кодировку по умолчанию.
Скачал сейчас MODx 0.9.6.1. Ошибка исчезла.
А я проверил кодировки в Ini сними всё окэй.
попробую тоже на 0.9.6.1 перейти
Как вариант.
Можно поменять размер поля source в таблице modx_event_log до 255 символов
И изменить в файле manager/includes/document.parser.class.inc.php (строка 1292)
$ds= @mysql_query($sql);
на
$ds= $this->db->query($sql);.
У меня 0.9.6.1p2 , помогло.