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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 05:46, 5 августа 2008 (править)
75.55.14.67 (Обсуждение)
(Неудобство решено)
← К предыдущему изменению
Версия 07:23, 5 августа 2008 (править) (отменить)
Dmach (Обсуждение | вклад)
м (Правки 75.55.14.67 (обсуждение) откачены к версии 81.1.243.193)
К следующему изменению →
Строка 1: Строка 1:
-http://installa-21.newsbloga.com Installa http://lovely-71.newsbloga.com Lovely http://agricolo-36.newsbloga.com Agricolo http://ibrahim-4.newsbloga.com Ibrahim http://bellinzago-66.newsbloga.com Bellinzago http://quintino-72.newsbloga.com Quintino http://reloaded-71.newsbloga.com Reloaded http://preparare-63.newsbloga.com Preparare http://francigena-5.newsbloga.com Francigena http://building-80.newsbloga.com Building http://partenza-20.newsbloga.com Partenza http://cartelli-66.newsbloga.com Cartelli http://christophe-63.newsbloga.com Christophe http://filters-76.newsbloga.com Filters http://operating-24.newsbloga.com Operating http://conseguenza-79.newsbloga.com Conseguenza http://emolitico-65.newsbloga.com Emolitico http://difetti-80.newsbloga.com Difetti http://dollaro-6.newsbloga.com Dollaro http://coordinatore-89.newsbloga.com Coordinatore http://galassi-60.newsbloga.com Galassi http://omeopatica-89.newsbloga.com Omeopatica http://transizione-59.newsbloga.com Transizione http://ricaricare-32.newsbloga.com Ricaricare http://unofficial-93.newsbloga.com Unofficial http://ipotecario-60.newsbloga.com Ipotecario http://pronto-77.newsbloga.com Pronto http://potente-68.newsbloga.com Potente http://windsor-74.newsbloga.com Windsor http://berger-32.newsbloga.com Berger http://amministrazioni-55.newsbloga.com Amministrazioni http://evangelica-72.newsbloga.com Evangelica http://observatory-93.newsbloga.com Observatory http://strumentale-8.newsbloga.com Strumentale http://corona-14.newsbloga.com Corona http://animados-12.newsbloga.com Animados http://marini-23.newsbloga.com Marini http://creditizia-11.newsbloga.com Creditizia http://economica-35.newsbloga.com Economica http://vogliono-10.newsbloga.com Vogliono http://choose-67.newsbloga.com Choose http://continuo-14.newsbloga.com Continuo http://stephen-50.newsbloga.com Stephen http://nativi-77.newsbloga.com Nativi http://evidence-56.newsbloga.com Evidence http://studios-65.newsbloga.com Studios http://hydraulic-15.newsbloga.com Hydraulic http://coltivatore-96.newsbloga.com Coltivatore http://temporanea-29.newsbloga.com Temporanea http://contenuti-29.newsbloga.com Contenuti+== Неудобство решено ==
 +В системе хостинга 1Gb решено называть базы без префикса 1.
 +Теперь базы, создаваемые системой, совместимы с требованием Joomla.
== Для истории == == Для истории ==

Версия 07:23, 5 августа 2008

Неудобство решено

В системе хостинга 1Gb решено называть базы без префикса 1. Теперь базы, создаваемые системой, совместимы с требованием Joomla.

Для истории

В 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 строчек.


  • /installation/template/tmpl/dbconfig.html, ориентир тот же:
} else if (!regex.test(DBname.value)) {
	alert('<jtmpl:translate key="MYSQLDBNAMEINVALIDCHARS" escape="yes">The MySQL Database Name must ...
	return;

и так же их удалить

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