Обсуждаем вопросы установки скрипта CMS на локальном/удаленном сервере.
Первая проблема возникшая у меня сразу после распаковки дистрибутива на удаленном сервере, версия Бизнес 7.1.5 от 20.11.2008 (business_source.tar.gz 30263163 байт 16января 2009 г., 20:53:43) - стало не возможным открытие любого файла хостинга браузером. Ошибка 403 "Доступ запрещен" ()
Решение. При распаковке дистрибутива в корне сайта перезаписывается файл .htaccess. Содержимое нового файла:| Код |
|---|
Options -Indexes
ErrorDocument 404 /404.php
#php_flag allow_call_time_pass_reference 1
#php_flag session.use_trans_sid off
#php_value display_errors 1
#php_value mbstring.func_overload 2
#php_value mbstring.internal_encoding UTF-8
<IfModule mod_rewrite.c>
Options FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
</IfModule>
<IfModule mod_mime.c>
AddType application/x-httpd-php .ico
</IfModule>
<IfModule mod_dir.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpeg "access plus 3 day"
ExpiresByType image/gif "access plus 3 day"
</IfModule>
|
Проблема в строке Options FollowSymLinks добавляем "+" Options +FollowSymLinks - все работает!
Для установки скрипта в кодировке UTF-8 мне пришлось разкомменировать две строки:
...
#php_value mbstring.func_overload 2
#php_value mbstring.internal_encoding UTF-8
...
убираем "#"
...
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
...
Вторая проблема связана с кодировкой UTF-8 и MySQL. После "успешной" установки скрипта (ни каких "плохих" предупреждений в ходе установки не выводилось) в каталоге на хостинге \bitrix\modules\ программой установки был создан файл install.log:| Код |
|---|
2009-01-19 00:36:27 - DATABASE_ERROR - <hr><pre>Query: create table if not exists b_stat_city ( ID int(18) not null auto_increment, COUNTRY_ID char(2) not null, REGION varchar(200), NAME varchar(255), XML_ID varchar(255), SESSIONS int(18) not null default '0', NEW_GUESTS int(18) not null default '0', HITS int(18) not null default '0', C_EVENTS int(18) not null default '0', primary key (ID), index UX_B_STAT_CITY(COUNTRY_ID, REGION, NAME), index IX_B_STAT_CITY_XML_ID(XML_ID)) Error: <font color=red>Specified key was too long; max key length is 1000 bytes</font></pre> |
это говорит о том, что таблица MySQL b_stat_city не была создана при установке. Раскопки показали, что создать такую таблицу в базе данных MySQL (любой версии) и кодировке UTF-8 в принципе не возможно! внутреннее ограничение MySQL [COLOR=#FF0000]#1071 - Specified key was too long; max key length is 1000 bytes[/CODE]. Эта проблема широко обсуждается в сети, например, .
Решение. Полноценного решения я не нашел, но чем руководствовались разработчики "закладывая" в ИНДЕКСНЫЕ поля БД REGION, NAME длину строк 200 и 255 символов мне не понятно!!! Название страны в модуле статистики 255 букв. 
Если изменить эти значения, например, на 150 и 150 - таблица создастся. SQL запрос на создание данной таблицы находится в файле дистрибутива \bitrix\modules\statistic\install\db\mysql\install.sql
P.S. "Не знаю ни кого кто не прав... (БГ)" На Вашем хостинге и с Вашими программами все может работать совершенно по другому, возможно даже правильно! Я описываю свою ситуацию.
Обладатель "готового решения" БИЗНЕС