- after_connect.php и after_connect-d7.php — где прописывать команды для sql?
- Продукты
- Управление сайтом
- Битрикс24
- Интернет-магазин + CRM
- Решения
- Для интернет-магазинов
- Каталог готовых решений
- Внедрение
- Выбрать партнера
- Проверить партнера
- Стать партнером
- Битрикс. Установка по шагам
- Частые вопросы
- Страница и порядок её выполнения
after_connect.php и after_connect-d7.php — где прописывать команды для sql?
1. эти команды нужно прописывать в оба файла, т.е. в after_connect.php и after_connect-d7.php? Или только в какой-то один?
2. Если эти файлы я положу в local, какие файлы будут обрабатываться системой, те, которые в /bitrix/php_interface или которые в /local/php_interface?
Продукты
Управление сайтом
Битрикс24
Интернет-магазин + CRM
Решения
Для интернет-магазинов
Каталог готовых решений
Внедрение
Выбрать партнера
Проверить партнера
Стать партнером
1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507
© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности
Битрикс. Установка по шагам
Первым делом идем на сайт Битрикс, в раздел «Скачать» и внизу страницы скачиваем файл bitrixsetup.php . Кладем его в директорию виртуального хоста и запускаем. Скрипт скачивает дистрибутив CMS, распаковывает архив и начинает установку:
На очередном шаге надо выбрать кодировку UTF-8 . Система старая и до сих пор по умолчанию устанавливается в кодировке Windows-1251 .
На следуюшем шаге установщик проверяет, насколько система удовлетворяет требованиям CMS. Пришлось добавить в php.ini :
Далее — параметры соединения с базой данных. У меня ее еще не было, поэтому запускаем консоль MySQL и выполняем команды:
> mysql -uroot -pqwerty # запускаем консоль mysql
> CREATE DATABASE bitrix; # создаем базу данных bitrix > CREATE USER 'bitrix'@'localhost' IDENTIFIED BY 'bitrix'; # создаем пользователя bitrix с паролем bitrix > GRANT ALL PRIVILEGES ON bitrix.* TO 'bitix'@'localhost'; # предоставляем пользователю все права на БД bitrix > quit # выходим из консоли mysql
Дальше еще надо будет ввести логин и пароль администратора, выбрать решение для установки, шаблон и тему. В конечном итоге переходим на готовый сайт.
В панели управления переходим в раздел «Проверка системы» (Настройки > Инструменты > Проверка системы). Эта страница предназначена для проверки соответствия параметров системы, на которой осуществляется функционирование проекта, техническим требованиям CMS. Здесь я столкнулся с ошибкой
Переменная sql_mode в MySQL должна быть пустая, текущее значение: STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Для устранения этой ошибки можно отредактировать файлы
- /bitrix/php_interface/after_connect_d7.php (новое ядро)
- /bitrix/php_interface/after_connect.php (старое ядро)
Но, поскольку при обновлении Битрикса эти файлы могут быть перезаписаны, лучше скопировать их в /local/php_interface и отредактировать уже там:
/* * Файл /local/php_interface/after_connect_d7.php */ $connection = \Bitrix\Main\Application::getConnection(); $connection->queryExecute("SET NAMES 'utf8'"); $connection->queryExecute('SET collation_connection = "utf8_unicode_ci"'); // добавляем еще одну строку для установки пустого значения sql_mode $connection->queryExecute('SET sql_mode = ""'); ?>
/* * Файл /local/php_interface/after_connect.php */ $DB->Query("SET NAMES 'utf8'"); $DB->Query('SET collation_connection = "utf8_unicode_ci"'); // добавляем еще одну строку для установки пустого значения sql_mode $DB->Query('SET sql_mode = ""'); ?>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- 1С:Предприятие (31)
- API (29)
- Bash (43)
- CLI (99)
- CMS (139)
- CSS (50)
- Frontend (75)
- HTML (66)
- JavaScript (150)
- Laravel (72)
- Linux (146)
- MySQL (76)
- PHP (125)
- React.js (66)
- SSH (27)
- Ubuntu (68)
- Web-разработка (509)
- WordPress (73)
- Yii2 (69)
- БазаДанных (95)
- Битрикс (66)
- Блог (29)
- Верстка (43)
- ИнтернетМагаз… (84)
- КаталогТоваров (87)
- Класс (30)
- Клиент (27)
- Ключ (28)
- Команда (68)
- Компонент (60)
- Конфигурация (62)
- Корзина (32)
- ЛокальнаяСеть (28)
- Модуль (34)
- Навигация (31)
- Настройка (140)
- ПанельУправле… (29)
- Плагин (33)
- Пользователь (26)
- Практика (99)
- Сервер (74)
- Событие (27)
- Теория (105)
- Установка (66)
- Файл (47)
- Форма (58)
- Фреймворк (192)
- Функция (36)
- ШаблонСайта (68)
Частые вопросы
Если проблема останется — обратитесь к администратору хостинга.
Вам необходимо существенно увеличить его, например, до 64000.
Для решения проблемы воспользуйтесь опцией mysqldump: —compatible=mysql40
Установите значение параметра NLS_LANG, например, в AMERICAN_AMERICA.CL8MSWIN1251
Значение параметра Вы можете прописать в реесте Windows, в ветке HLM/SOFTWARE/ORACLE
Обратитесь за решением данной проблемы к администратору хостинга.
2. Проверьте значения, отвечающие за кодировку БД: character_set, или, для версий MySQL 4.1 и выше, character_set_server и character_set_database. При использовании кодировки, отличной от cp1251 (кириллица), например, latin1, сортировка по строкам, содержащим символы кириллицы, будет производиться некорректно. Проверить это можно выполнив запрос к БД
Для решения проблемы установить в файле /bitrix/php_interface/after_connect следующие строки
Если указанные действия не помогают, то выполните перенос системы (установку) еще раз, создавая дамп БД в кодировке cp1251 и создав новую БД тоже в кодировке cp1251.
Вам необходимо из значения для переменной sql-mode убрать STRICT_TRANS_TABLES.
1 вариант: изменение конфигурации сервера через my.cnf. Например,
sql-mode=»NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION» |
sql-mode=»STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION» |
2 вариант: если у Вас нет доступа к конфигурационным файлам MySQL-сервера, попробуйте в /bitrix/php_interface/after_connect.php добавить строку:
Подробнее на официальном сайте:
Необходимо дополнительно назначить права на LOCK TABLES для данного пользователя базы данных.
После этого обновите страницу: на экране появится текст ошибки. Передайте его в службу нашу поддержки.
Также рекомендуем вам установить следующие значения для MySQL в файле my.cnf:
key_buffer = 64M max_allowed_packet = 8M table_cache = 256 sort_buffer_size = 8M read_buffer_size = 1M |
Если какие-то из рекомендуемых значений меньше установленных сейчас, оставьте эти значения прежними.
Обратитесь к системному администратору Вашего сервера для решения проблемы.
Для решения проблемы в окне SQL-запроса выполните
repair table b_search_content_stem |
b_search_content_stem — имя неработающей таблицы.
Есть возможность выполнить восстановление всех таблиц при неработающем сайте. Для этого надо знать логин и пароль к базе данных, передать их на страницу проверки.
Значения db_login и db_password берутся из dbconn.php
Можно узнать их через ftp.
Страница и порядок её выполнения
Страница представляет из себя PHP файл, состоящий из пролога, тела страницы (основной рабочей области) и эпилога:
Страница имеет определённую структуру, свойства и параметры. Она может использовать свои собственные шаблоны.
Порядок выполнения страницы:
№ | Операция | Определяемые константы и переменные | Примечание |
---|---|---|---|
1. Служебная часть пролога (/bitrix/modules/main/include/prolog_before.php) | |||
1.1 | Подключение | Подключаемый файл должен содержать определения переменных для соединения с базой данных, констант для отладки и прав доступа. Файл с настройками ядра D7 подключается при первом запросе конфигурации. | |
1.2 | Соединение с базой данных | $DB | В случае ошибки соединения будет подключен файл . |
1.3 | Подключение | Подключаемый файл может содержать операции, необходимые для выполнения сразу после соединения с БД. | |
1.4 | Определение текущего сайта | $APPLICATION, SITE_ID, SITE_DIR, SITE_SERVER_NAME, SITE_CHARSET, FORMAT_DATE, FORMAT_DATETIME, LANGUAGE_ID, Определяются все классы и функции Главного модуля. | Если к этому моменту определена константа с кодом сайта SITE_ID , то сайт не будет определяться по текущей папке и доменному имени, а все остальные константы будут определены для этого сайта. |
1.5 | Подключение | Может содержать в себе инициализацию обработчиков событий, подключение дополнительных функций — общие для всех сайтов. | |
1.6 | Подключение | Содержит параметры, определения функций для конкретного сайта. | |
1.7 | Открытие сессии | Все сессионные переменные $_SESSION | |
1.8 | Событие OnPageStart | ||
1.9 | Определение пользователя, авторизация пользователя, завершение сеанса, регистрация (в зависимости от параметров в запросе) | $USER | |
1.10 | Определение текущего шаблона сайта | SITE_TEMPLATE_ID | |
1.11 | Событие OnBeforeProlog | ||
1.12 | Проверка прав доступа уровня 1 | В случае если прав недостаточно, то выводится форма авторизации и страница завершает выполнение. | |
1.13 | Начало буфферизации вывода | После начала буферизации можно делать вывод, до установки куков и наоборот, устанавливать куки после вывода в поток. | |
1.14 | Событие OnProlog | ||
2. Визуальная часть пролога (/bitrix/modules/main/include/prolog_after.php) | |||
2.1 | Подключение | ||
3. Тело страницы | |||
4. Визуальная часть эпилога (/bitrix/modules/main/include/epilog_before.php) | |||
4.1 | Подключение | ||
4.2 | Вызов функции CMain::ShowSpreadCookieHTML | Данная функция выводит набор невидимых IFRAME’ов используемых в Технология переноса посетителей | |
5. Служебная часть эпилога (/bitrix/modules/main/include/epilog_after.php) | |||
5.1 | Событие OnEpilog | ||
5.2 | Завершение буферизации страницы | Завершение и вывод в поток буффера инициализированного в п. 1.14 | |
5.3 | Событие OnAfterEpilog | ||
5.4 | Проверка агентов | ||
5.5 | Отправка E-Mail писем | Подробнее о E-Mail письмах можно прочитать в разделе «Почтовая система» | |
5.6 | Завершение соединения с базой данных | Переменная $DB больше недоступна |