Joomla - проблема имени базы

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск

Dmach (Обсуждение | вклад)
(Новая: В Joomla версии 1.5 (проблема точно есть на версии 1.5.2) присутствует проблема связанная с тем, что эта "CMS" сч...)
К следующему изменению →

Версия 13:10, 10 апреля 2008

В Joomla версии 1.5 (проблема точно есть на версии 1.5.2) присутствует проблема связанная с тем, что эта "CMS" считает будто имя БД не может начинаться с цифры, при указании имени БД с префиксом "1gb_" пользователи получают сообщение

"Имя базы данных MySQL должно начинаться с латинской буквы и может содержать только латинские буквы, цифры или символ подчёркивания (A-Z,a-z,0-9,_)"

К сожалению разработчики Joomla в этом отношении не правы, так как имя базы данных для mySQL 'может' содержать первым символом цифру, о чём имеется многолетняя беспроблемная практика как с нашей стороны, так и со стороны любых других CMS и систем которые как либо вообще работают с СУБД mySQL.

Для того что бы обойти указанное огарничение нужно внести изменение в код Joomla с целью снять проверку правильности ввода имени БД, для этого нужно открыть на редактирование файл /installation/installer/models/model.php, найти в нём следующий код (ориентиром может служить переменная 'MYSQLDBNAMEINVALIDCHARS':

if (!preg_match( '#^[a-zA-Z]+[a-zA-Z0-9_]*$#', $DBname )) {
	$this->setError(JText::_('MYSQLDBNAMEINVALIDCHARS'));
	$this->setData('back', 'dbconfig');
	$this->setData('errors', $errors);
	return false;
}

и удалить его - просто стереть эти 6 строчек.

Личные инструменты