База знаний
Оптимизация производительности сайта на Битрикс
Скорость сайта на Битрикс зависит от оптимизации компонентов сайта (вопрос разработчиков).
Простой Bash-скрипт для резервного копирования
Резервное копирование данных должно производиться тогда, когда эти данные не изменяются. В.
Как получить бесплатный SSL-сертификат от Free SSL Space?
Одним из простых и понятных способов получения бесплатного SSL-сертификата является сервис.
Ошибки при работе с 1С-Битрикс
Если после переноса вы видите на главной странице вместо новостей форму для авторизации и все пункты меню отмечены значком замка:
… и после авторизации все отображается правильно — перейдите в административную панель Битрикс и пройдите по пути: Настройки (Settings) → Настройки продукта (System settings) → Сайты (Sites) → Список сайтов (List of sites), выберите ваш сайт и проверьте значение поля «Путь к корневой папке веб-сервера для этого сайта (Path to the web server root folder of this site)», скорее всего там указан неправильный путь.
Рекомендуется оставить это поле пустым если вы не используете многосайтовость на разных доменах.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
При входе в административный интерфейс возникает сообщение об ошибке «Кодировка используемой вами базы данных MySql “utf8”, системе обновлений необходима кодировка “cp1251”. Обратитесь к администратору MySql для выполнения запроса alter database DATABASE_NAME default character set cp1251»
По умолчанию все сервисы виртуальной машины VMBitrix работают в кодировке UTF-8. По сравнению с кодировкой CP1251 (Windows-1251) UTF-8 предоставляет большие возможности по хранению информации на различных языках, подробнее можно узнать в Wikipedia.
Если по каким-либо причинам вы не можете перейти на использование UTF-8 — выполните указанный запрос самостоятельно.
Для этого перейдите в административный раздел Битрикс и пройдите по пути Настройки (Settings) → Инструменты (Tools) → SQL запрос (SQL query), скопируйте и вставьте запрос из сообщения об ошибке и выполните его.
Этот запрос изменяет свойство используемой базы данных, не затрагивая сами данные, и, при необходимости, вы можете вернуть старое значение обратно.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
Зависает переиндексация статических файлов сайта
При попытке обновить поисковый индекс вашего сайта процесс зависает (длится очень долго и статус уже переиндексированных документов не обновляется). Если производить переиндексацию по отдельным модулям — зависание происходит только при выборе модуля «Статические файлы».
Для решения проблемы необходимо изменить параметры mbstring в файле /etc/php.ini:
mbstring.func_overload = 0 mbstring.internal_encoding = CP1251
и перезапустить web-сервер Apache чтобы новые параметры вступили в силу:
/etc/init.d/apache2 restart
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
На любой странице сайта возникает ошибка:
The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.
В новом ядре Битрикс, настройка параметров производится в файле bitrix/.settings.php (обратите внимание, что имя файла начинается с точки). Ранее, для этих задач использовался файл bitrix/php_interface/dbconn.php.
По умолчанию, Битрикс скрывает любые сообщения об ошибках, так как это значительно снижает уровень безопасности системы. Поэтому при возникновении любой ошибки вместо нее будет отображаться указанное выше сообщение.
Поэтому первым делом, необходимо войти на сервер (по SSH или sFTP) и отредактировать файл bitrix/.settings.php. В нем следует найти строчку:
'debug' => false,
и изменить значение параметра debug на true, то есть строка должна принять вид:
'debug' => true,
После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр debug в изначальное значение.
Болле подробное описание всех параметров файла .settings.php есть на сайте разработчика.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
На любой странице возникает ошибка:
DB query error. Please try later.
Эта ошибка абсолютно аналогична описанной выше, но возникает только в старом ядре Битрикс. Для включения вывода полного сообшения об ошибке войдите на сервер (по SSH или sFTP) и отредактируйте файл bitrix/php_interface/dbconn.php. В нем найдите строчку:
$DBDebug = false;
и измените значение переменной $DBDebug на true, то есть строка должна принять вид:
$DBDebug = true;
После этого, при обращении к странице с ошибкой, вы увидите полное сообщение об ошибке. После исправления ошибки, не забудьте вернуть параметр $DBDebug в изначальное значение.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
На сайте возникает ошибка:
Mysql connect error [localhost, 127.0.0.1]: Can't connect to local MySQL server through socket '/var/lib/mysqld/mysqld.sock' (2) (400)
Данная ошибка означает, что сервер баз данных MySQL не доступен. Это может произойти в ряде случаев и зачастую требуется отдельный анализ ситуации для выявления точной причины. Но в большинстве случаев эта ошибка возникает из-за следующих проблем:
Нехватка оперативной памяти.
Если при разработке проекта не рассчитывалась большая нагрузка (со стороны пользователей или объема обрабатываемых данных), или при разработке была допущена ошибка, или параметры MySQL и Apache не оптимальны для проекта, то при всплеске активности может возникнуть переполнение оперативной памяти (RAM). В этом случае, операционная система, для поддержания собственной безопасности, принудительно завершает работу самого объемного процесса (для web-серверов это как правило именно MySQL). В этом случае, в системном журнале /var/log/syslog и на консоли сервера (доступ к которой можно получить в панели управления vCenter) будет содержаться сообщение вида:
kernel: Out of memory: Kill process 1543 (mysqld) score 146 or sacrifice child
Сервер не может стартовать из-за ошибки в конфигурации.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
Возникает ошибка любого MySQL запроса вида:
MySQL Query Error: SELECT … FROM … [Got error 28 from storage engine]
Ошибка может содержать любой SELECT, INSERT или UPDATE запрос, но при этом обязательно заканчивается уточнением Got error 28 from storage engine. Причиной ошибки является переполнения жесткого диска (HDD)
В этом случае, войдите на сервер по SSH и выполните команду df -h:
# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 9.6G 9.2G 0 100% / tmpfs 250M 0 250M 0% /dev/shm /dev/sda1 118M 102M 9.1M 92% /boot
Основной раздел, в примере /dev/sda2 (так как он наибольший, что видно по колонке Size, и точка монтирования у него — корневая директория Mounted on /) используется на 100%
Для восстановления работы следует удалить более ненужные данные с диска или увеличить дисковое пространство.
Если у вас возникли сложности, не описанные здесь, напишите нам на support@vmco.ru
- Общие вопросы
- Вопросы по 1С-Битрикс
- Ошибки при работе с 1С-Битрикс
- Поддержка почты домена
Почему VM
Виртуальные машины — это свобода:
- Свобода выбора OS и того, что в ней содержится.
- Свобода выбора конфигурации.
- Свобода от ограничений физических серверов, от их поломок и простоев.
- другие причины…
Почему мы
- Мы давно и успешно работаем в телекоммуникационном бизнесе. Мы накопили огромный опыт и умеем его применять. Мы знаем все об ошибках, которые не нужно совершать.
- Мы не экономим на качестве: мы покупаем лучшее оборудование и не занимаемся «уплотнением». Мы сами пользуемся нашей услугой и следим за тем, чтобы все было идеально.
Пытаюсь запустить сервер БД, но почему не запускается сервер MySQL?
Стоит комп именованный «сервером», на котором стоит виртуалка с запущенным окружением битрикса. после некорректного перезапуска «сервера» не запускается сервер MySQL. Память проверял, место на диске есть Вот результаты проверки статуса работы процесса:
● mysqld.service - MySQL Server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: activating (start) since Пт 2020-12-25 10:50:24 +06; 4s ago Docs: man:mysqld(8) dev.mysql.com/doc/refman/en/using-systemd.html Process: 3860 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS) Control: 3888 (mysqld) CGroup: /system.slice/mysqld.service ├─3888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid └─3891 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid дек 25 10:50:24 server systemd[1]: Starting MySQL Server. [root@server init.d]# journalctl -xe -- Subject: Начинается запуск юнита mysqld.service -- Defined-By: systemd -- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Начат процесс запуска юнита mysqld.service. дек 25 10:50:30 server mysqld[3888]: Initialization of mysqld failed: 0 дек 25 10:50:30 server systemd[1]: mysqld.service: control process exited, code=exited status=1 дек 25 10:50:30 server systemd[1]: Failed to start MySQL Server. -- Subject: Ошибка юнита mysqld.service -- Defined-By: systemd -- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Произошел сбой юнита mysqld.service. -- -- Результат: failed. дек 25 10:50:30 server systemd[1]: Unit mysqld.service entered failed state. дек 25 10:50:30 server systemd[1]: mysqld.service failed. дек 25 10:50:30 server systemd[1]: mysqld.service holdoff time over, scheduling restart. дек 25 10:50:30 server systemd[1]: Stopped MySQL Server. -- Subject: Завершена остановка юнита mysqld.service. -- Defined-By: systemd -- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Процесс остановки юнита mysqld.service был завершен. дек 25 10:50:30 server systemd[1]: Starting MySQL Server. -- Subject: Начинается запуск юнита mysqld.service -- Defined-By: systemd -- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Начат процесс запуска юнита mysqld.service. дек 25 10:50:36 server mysqld[3953]: Initialization of mysqld failed: 0 дек 25 10:50:36 server systemd[1]: mysqld.service: control process exited, code=exited status=1 дек 25 10:50:37 server systemd[1]: Failed to start MySQL Server. -- Subject: Ошибка юнита mysqld.service -- Defined-By: systemd -- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Произошел сбой юнита mysqld.service. -- -- Результат: failed. дек 25 10:50:37 server systemd[1]: Unit mysqld.service entered failed state. дек 25 10:50:37 server systemd[1]: mysqld.service failed. дек 25 10:50:37 server systemd[1]: mysqld.service holdoff time over, scheduling restart. дек 25 10:50:37 server systemd[1]: Stopped MySQL Server. -- Subject: Завершена остановка юнита mysqld.service. -- Defined-By: systemd -- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Процесс остановки юнита mysqld.service был завершен. дек 25 10:50:37 server systemd[1]: Starting MySQL Server. -- Subject: Начинается запуск юнита mysqld.service -- Defined-By: systemd -- Support: lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Начат процесс запуска юнита mysqld.service. дек 25 10:50:37 server sshd[3986]: Invalid user 113.53.251.125 from 142.93.169.136 port 51602 дек 25 10:50:37 server sshd[3986]: input_userauth_request: invalid user 113.53.251.125 [preauth] дек 25 10:50:37 server sshd[3986]: pam_unix(sshd:auth): check pass; user unknown дек 25 10:50:37 server sshd[3986]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=142.93.169.136 дек 25 10:50:39 server sshd[3986]: Failed password for invalid user 113.53.251.125 from 142.93.169.136 port 51602 ssh2 дек 25 10:50:39 server sshd[3986]: Received disconnect from 142.93.169.136 port 51602:11: Normal Shutdown, Thank you for playing [preauth] дек 25 10:50:39 server sshd[3986]: Disconnected from 142.93.169.136 port 51602 [preauth] В логах задачи виртуалки битрикса указано это: PLAY [bitrix-hosts] ************************************************************ TASK [setup] ******************************************************************* ok: [server] TASK [mysql : include variables from mysql group] ****************************** ok: [server] TASK [mysql : include variables from web group] ******************************** ok: [server] TASK [mysql : include variables from temporary config] ************************* ok: [server] TASK [mysql : additional gathering facts] ************************************** ok: [server] TASK [mysql : set_fact] ******************************************************** TASK [mysql : gathering facts about installed sites] *************************** TASK [mysql : set_fact] ******************************************************** TASK [mysql : debug] *********************************************************** TASK [mysql : create variable bx_sites_info] *********************************** TASK [mysql : debug] *********************************************************** TASK [mysql : include] ********************************************************* TASK [mysql : include] ********************************************************* TASK [mysql : include] ********************************************************* included: /etc/ansible/roles/mysql/tasks/mysql-start_service.yml for server TASK [mysql : include] ********************************************************* included: /etc/ansible/roles/mysql/tasks/mysql-enable_service.yml for server TASK [mysql : defined bx_system variable] ************************************** ok: [server] TASK [mysql : recreate links] ************************************************** TASK [mysql : reload systemd configuration] ************************************ TASK [mysql : start mysql service] ********************************************* fatal: [server]: FAILED! =>
Сам текст исключения который возникает при попытке входа по URL сайта:
[Bitrix\Main\DB\ConnectionException] Mysql connect error [localhost]: (2002) Connection refused (400) /home/bitrix/www/bitrix/modules/main/lib/db/mysqliconnection.php:65 #0: Bitrix\Main\DB\MysqliConnection->connectInternal() /home/bitrix/www/bitrix/modules/main/lib/data/connection.php:53 #1: Bitrix\Main\Data\Connection->getResource() /home/bitrix/www/bitrix/modules/main/lib/db/mysqlisqlhelper.php:21 #2: Bitrix\Main\DB\MysqliSqlHelper->forSql(string) /home/bitrix/www/bitrix/modules/main/lib/config/option.php:193 #3: Bitrix\Main\Config\Option::load(string) /home/bitrix/www/bitrix/modules/main/lib/config/option.php:38 #4: Bitrix\Main\Config\Option::get(string, string, string) /home/bitrix/www/bitrix/modules/main/lib/httprequest.php:394 #5: Bitrix\Main\HttpRequest->prepareCookie(array) /home/bitrix/www/bitrix/modules/main/lib/httprequest.php:71 #6: Bitrix\Main\HttpRequest->__construct(object, array, array, array, array) /home/bitrix/www/bitrix/modules/main/lib/httpapplication.php:49 #7: Bitrix\Main\HttpApplication->initializeContext(array) /home/bitrix/www/bitrix/modules/main/lib/application.php:131 #8: Bitrix\Main\Application->initializeExtendedKernel(array) /home/bitrix/www/bitrix/modules/main/include.php:24 #9: require_once(string) /home/bitrix/www/bitrix/modules/main/include/prolog_before.php:14 #10: require_once(string) /home/bitrix/www/index.php:8
Прошу прощения за кашу во всем этом, так как в своей организации и швец и жнец. Нормального опыта в работе не имею пока
Отслеживать
задан 25 дек 2020 в 5:23
Павел Петров Павел Петров
151 8 8 бронзовых знаков
В консоле попробуйте подключиться к БД. Войти черес коммандную строку.
25 дек 2020 в 5:58
@doox911 Нашел в логах MySQL 2020-12-25T05:19:35.178672Z 0 [ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint 389077222946 and the end 389077230270. 2020-12-25T05:19:35.178864Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error 2020-12-25T05:19:40.304649Z 0 [ERROR] Plugin 'InnoDB' init function returned error. 2020-12-25T05:19:40.304702Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 2020-12-25T05:19:40.304713Z 0 [ERROR] Failed to initialize builtin plugins.
Некоторые приёмы работы в Битрикс на SQL и BASH
Я продолжаю писать о Битриксе в контексте обменов, Mysql и командной строки Linux.
Эта статья является вводной к серии статей о структуре базы данных Битрикс, где эта тема будет раскрыта достаточно подробно. Для начала же будут представлены решения некоторых небольших, но назойливых задач. Как всегда, знание SQL обязательно.
В статье рассматриваются довольно частные вопросы, которые не возникают ежедневно. Конечно, вы можете использовать эти материалы по их прямому назначению, но главная цель статьи не в этом. Я начинаю вскрывать «чёрный ящик» под названием «структура базы данных битрикс», и показывать, что эти знания могут пригодиться для повышения уровня владения как системой, так и базовыми технологиями (SQL, linux shell), что, конечно, помогает решать новые, сложные, интересные, разнообразные задачи.
Страница, с которой можно делать SQL запросы в базу, или mysql web клиент битрикс, находится в панели управления Битрикса по пути: «Настройки->Инструменты->SQL запрос».
Также, конечно, можно делать запросы из командной строки операционной системы, для чего могу предложить вам несложную операцию извлечения логина и пароля прямо из настроек Битрикса:
log=$(grep -i "login" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"') pas=$(grep -i "pass" /home/bitrix/www/bitrix/php_interface/dbconn.php | cut -f2 -d'"') mysql -u$log -p$pas $log
— таким образом можно получить логин и пароль к базе данных Mysql Bitrix из командной строки linux на bash. Пути, конечно же, заменяйте на ваши собственные. В варианте, предоставляемом виртаульной машиной Битрикс, DOCUMENT_ROOT выглядит как /home/bitrix/www/.
1. Настройка «Избранного» для всех пользователей панели управления Bitrix сразу.
Когда вводится новый сайт, разработчику не хочется объяснять каждому, кто добавляет новости или редактирует страницы, что нужно нажать, чтобы попасть в новости или каталог товаров. Лучше вывести ссылки прямо на стартовую страницу панели управления битрикс, тем более, что в битриксе «рабочий стол» в админке для этого и предназначен.
Если настройки так называемого «рабочего стола» можно распространить на всех, кто зайдёт в админку Битрикса, то колонку «Избранное» пользователь заполняет только для себя. Это логично, но обычно пользователи пренебрегают такой возможностью, поэтому сделаем эту работу за них.
К тому же, не всё можно поместить на «Рабочий стол», а в «Избранное» можно добавить всё, что угодно, даже ссылку на сторонний ресурс, например, на почту или тикеты службы техподдержки другой системы.
Заполнить блок «Избранное» в админке битрикса именно для всех контент-менеджеров панель управления не позволяет: нет такой кнопочки. Поэтому, вначале добавим нужные ссылки в блок «Избранное» для себя.
Узнайте ваш ID пользователя. Если вы под администратором (admin) в панели управления, то ваш ID пользователя =1.
Очевидно, эти данные относятся к пользователю, и первый взгляд бросается на таблицы, начинающиеся с b_user_, которых в базе Битрикса с десяток. Однако, нужная нам таблица не имеет такого префикса и называется b_favorites.
Эта таблица содержит поле COMMON, которое для всех записей имеет значение 'N'. Как обнаруживается, функция показа избранного для всех пользователей есть, и поле COMMON в таблице b_favorites полностью оправдывает своё наименование.
update b_favorite set common='Y' where user_id=1;
Нам даже не нужно дублировать записи администратора для всех пользователей (а как тогда было бы с вновь заводимыми администраторами сайта. Делать mysql триггер. Заводить событие. ). Теперь все пользователи админки Bitrix видят те же самые «Избранные», что и вы. Задача решена.
2. Как сменить логин и пароль пользователя битрикс через базу данных. Как сбросить пароль администратора Bitrix.
Если вы не можете зайти в панель управления Битрикс, но база доступна, вы можете либо установить свой собственный пароль для пользователя, либо сделать его таким же, как у какого-то другого пользователя, пароль которого вы знаете.
Основные данные всех пользователей хранятся в таблице b_user. Вам нужно знать ID пользователя в системе Битрикс.
Установка собственного логина и пароля Bitrix средствами Mysql
Пароль хранится в базе в виде:
Говорят, они что-то ещё изменили, но если вы сделаете так, то оно будет работать.
update b_user set login='su',password=concat('12345678',md5('12345678stupidpassword')) where >
где
su — новый логин пользователя
12345678 — соль
stupidpassword — новый пароль пользователя
— id пользователя (если admin, то =1)
Пароль битрикс сброшен, задача решена. Заодно, вы можете изменить и логин.
Копирование пароля от другого пользователя
И второй, очень простой, способ сброса пароля в битрикс.
На этот раз, нам нужно просто перенести хеш пароля от одного пользователя к другому. Конечно, нужно знать ID обоих пользователей в bitrix, в данном случае пользователю с мы устанавливаем пароль от пользователя с
update b_user b1 inner join b_user b2 on b2.id=36 set b1.password=b2.password where b1.id=895;
3. Применение настройки полей в редактировании заказа в Bitrix админке для всех пользователей.
В некоей доменной зоне второго уровня, на некотором сайте, в административной панели системы управления Битрикс располагается страница редактирования заказа интернет-магазина, в заголовке таблицы товаров которой есть кнопка настройки в виде шестерёнки, и бывает эта кнопка то синяя, то серая…
Нажав на эту кнопку, можно задавать поля заказа, которые будут выводиться в таблице, в том числе и пользовательские свойства заказа. Но при этом, задаётся это только для одного пользователя.
Чтобы применить эти настройки ко всем пользователям панели управления битрикса, а не объяснять каждому, «нажмите маленькую кнопочку в заголовке таблицы с товарами, видите список свойств… Выберите нужные вам. », выставим настройки через базу.
Эти настройки хранятся в таблице b_user_option, которые сопоставлены определённому пользователю посредством поля user_id. Но есть одна особенность: если user_id=0, то свойство — глобальное, и применяется для всех пользователей.
update b_user_option set user_id=0 where name='table_columns' and category='order_basket_table' and user_id=1
где user_id=1 — ID пользователя, под которым вы настраивали таблицу товаров. Если это admin, то решена: Теперь ваши настройки таблицы товаров работают у всех сразу.
4. Сортировка результатов поиска в битрикс по собственному алгоритму.
Если речь идёт о поиске по сайту, основной таблицей для модулей поиска в битриксе является b_search_content.
Интересные поля таблицы b_search_content:
custom_rank — поле, по которому сортировка работает прежде всех остальных полей
param1 — код инфоблока
param2 — номер инфоблока
module_id — ='iblock'
item_id — id элемента или раздела
— для поиска в инфоблоках.
Прежде всего нас интересует поле custom_rank.
Если в предыдущих случаях мы пользовались предусмотренными, но нереализованными возможностями Битрикс, то для этого поля в панели управления специальная «галочка» есть. Но выставляется она отдельно для каждого элемента, и обычно этой возможностью не пользуются.
Это поле кстати оказывается числовым, так и заполним его по своему усмотрению, тем самым задавая собственные правила сортировки результатов поиска. По умолчанию, для всех элементов его значение равно нулю.
В моём случае, при поиске товаров в каталоге интернет-магазина, реализованном на решении разработчика romza, нужно было вначале выводить те товары, у которых была установлена некая специальная галочка, которая являлась «свойством», соответствующим наличию товара в определённой торговой точке. Прилетало всё это добро с инкрементальной загрузкой из 1С, поэтому данный SQL запрос был повешен на событие окончания обмена с 1С.
update b_search_content sc inner join b_iblock_element_property elp on elp.iblock_element_id=sc.item_id and elp.iblock_property_id= set sc.custom_rank=if(elp.value=,,0) where sc.param1='' and sc.param2=
В настройке инфоблока должно быть указано «Значения свойств хранятся: в общей таблице (по умолчанию)», а не в отдельной таблице, иначе запрос будет выглядеть несколько по-другому.
Сейчас же, за счёт того, что запрос идёт вначале по таблице b_iblock_element_property, а не b_iblock_element, которая является основной для хранения элементов инфоблоков, мы отбираем только те элементы, у которых нужное свойство вообще есть, и если оно равно нужному значению, то поднимается custom_rank, в противном случае, он сбрасывается в ноль.
В моём случае задача решена, а для вас имеется полный простор для реализации своей собственной логики сортировки результатов поиска. А если вам не совсем знакомы эти наименования таблиц, то уже в следующей статье я раскрою их назначение более подробно.
Как быстро почистить кеш в битрикс.
«И на footer.php»: Очистка кеша в битрикс через панель управления происходит очень медленно. На самом деле, идёт всего лишь удаление файлов в определённых директориях, просто это делается медленными средствами. Сделаем специальный файл для очистки кеша в битрикс в командной строке linux.
cd /home/bitrix/ cat clearcache.sh #!/bin/bash cd $( dirname $0 ) basedir=$(pwd)/www/bitrix/ for d in cache managed_cache; do find $basedir$d -mindepth 1 -delete done EOF chmod 0775 clearcache.sh
Теперь вы можете запустить ./clearcache.sh, и кеш битрикса очистится практически мгновенно.
Скрипт этот должен лежать на одну директорию выше, чем DOCUMENT_ROOT вашего сайта. Хотя, вы можете изменить как место его нахождения, так и код, суть в том, что мы должны удалить все файлы из директорий:
cache
managed_cache
stack_cache — раньше была ещё эта директория, но в последних версиях я её не наблюдаю, поэтому сейчас без неё.
На самом деле, если удалить и сами директории, ничего не случится, они пересоздадутся. Но более правильно их оставлять.
В виртаульной машине Битрикс DOCUMENT_ROOT равен /home/bitrix/www/, если же у вас сайт установлен в другую директорию, скорректируйте скрипт согласно вашим путям.
- PHP
- 1С-Битрикс
- Разработка под Linux
