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

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 10:12, 4 августа 2008 (править)
98.223.45.196 (Обсуждение)
(Неудобство решено)
← К предыдущему изменению
Версия 10:21, 4 августа 2008 (править) (отменить)
Dmach (Обсуждение | вклад)
м (Правки 98.223.45.196 (обсуждение) откачены к версии 81.177.24.120)
К следующему изменению →
Строка 1: Строка 1:
-http://stevens-48.newsbloga.com Stevens http://incidentate-92.newsbloga.com Incidentate http://simili-57.newsbloga.com Simili http://gotici-86.newsbloga.com Gotici http://bollino-29.newsbloga.com Bollino http://setter-56.newsbloga.com Setter http://fuoribordo-22.newsbloga.com Fuoribordo http://campionaria-90.newsbloga.com Campionaria http://aparthotel-20.newsbloga.com Aparthotel http://autorizzata-92.newsbloga.com Autorizzata http://leggera-40.newsbloga.com Leggera http://afitto-47.newsbloga.com Afitto http://stabbin-97.newsbloga.com Stabbin http://pregio-75.newsbloga.com Pregio http://highland-50.newsbloga.com Highland http://prague-90.newsbloga.com Prague http://cirillico-59.newsbloga.com Cirillico http://corporate-84.newsbloga.com Corporate http://timothy-58.newsbloga.com Timothy http://programs-76.newsbloga.com Programs http://aggiornamento-87.newsbloga.com Aggiornamento http://package-81.newsbloga.com Package http://emporium-78.newsbloga.com Emporium http://frizzi-43.newsbloga.com Frizzi http://bretagna-96.newsbloga.com Bretagna http://moreno-35.newsbloga.com Moreno http://bowling-66.newsbloga.com Bowling http://gilmour-31.newsbloga.com Gilmour http://concorrenza-35.newsbloga.com Concorrenza http://riscaldamento-92.newsbloga.com Riscaldamento http://whitman-47.newsbloga.com Whitman http://branch-38.newsbloga.com Branch http://diretto-86.newsbloga.com Diretto http://percentili-3.newsbloga.com Percentili http://medica-81.newsbloga.com Medica http://sender-27.newsbloga.com Sender http://angelucci-4.newsbloga.com Angelucci http://steroids-31.newsbloga.com Steroids http://romanica-74.newsbloga.com Romanica http://multiplo-34.newsbloga.com Multiplo http://splinter-16.newsbloga.com Splinter http://elementary-94.newsbloga.com Elementary http://whaler-5.newsbloga.com Whaler http://windsor-74.newsbloga.com Windsor http://sabrina-43.newsbloga.com Sabrina http://carving-51.newsbloga.com Carving http://united-7.newsbloga.com United http://divina-10.newsbloga.com Divina http://vincitore-61.newsbloga.com Vincitore http://partecipare-30.newsbloga.com Partecipare+== Неудобство решено ==
 +В системе хостинга 1Gb решено называть базы без префикса 1.
 +Теперь базы, создаваемые системой, совместимы с требованием Joomla.
== Для истории == == Для истории ==

Версия 10:21, 4 августа 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;

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

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