среда, 25 июня 2025 г.

Ошибка обновления Bitrix модуль main версии 21.1200.600

Ошибка проявляется при обновлении с php7.4 на php8. Текст ошибки может быть как Query Error так и MySQL server has gone away, так и ошибка запроса

delete o1 FROM b_user_access_check o1, b_user_access_check o2 WHERE o1.id > o2.id AND o1.USER_ID = o2.USER_ID

Причина - большое кол-во дубликатов в таблице b_user_access_check, а запрос (выше) не корректно чистит их.
Для решения испольуем запрос очистки дубликатов через временную таблицу

CREATE TEMPORARY TABLE `t_temp` as ( SELECT DISTINCT `USER_ID`, `PROVIDER_ID` FROM `b_user_access_check` GROUP BY `USER_ID`, `PROVIDER_ID` ); TRUNCATE TABLE `b_user_access_check`; INSERT INTO `b_user_access_check` (`USER_ID`, `PROVIDER_ID`) SELECT `USER_ID`, `PROVIDER_ID` FROM `t_temp`;

вторник, 4 марта 2025 г.

Логирование работы агентов в Bitrix

Добавляем функицю в init.php
define("BX_AGENTS_LOG_FUNCTION","sysAgentLog");

function sysAgentLog(
$arAgent =false,
$state = false, 
$eval_result = false, 
$e = false
){
    AddMessage2Log(
    array(
    	'STATE' => $state,
        'AGENT'=> $arAgent,
        'EVAL' => $eval_result,
        'E'=>$e
        )
    );
}

среда, 19 февраля 2025 г.

Правила редиректов для Traefik

 Редирект с www

no-www:
redirectRegex:
regex: ^https://(?:www\.)?(.+)
replacement: https://${1}
permanent: true


Редирект с множественных  слешей

remove-multiply-slashes:
redirectRegex:
regex: (.*:\/\/.*)\/\/+(.*)
replacement: $1/$2
permanent: true


Редирект с http на https (редирект на другой  entryPoint)

entryPoints:
http:
address: ":80"
http:
redirections:
entryPoint:
to: https
scheme: https


Пишите в каменты свои примеры.  Соберем  базу основных редиректов.

четверг, 9 января 2025 г.

Заметки по ботостроению для ВК



  1. Отправлять "ок" с кодом 200 сразу после получения события
  2. При использовании CMS смотреть чтобы шаблон был пустой и кроме "ок" ничего не отправлялось
  3. При отправке групповых сообщений проверять наличие пользователей в группе 
  4. При отправке групповых сообщений проверять наличие переписки у пользователя

Дальше идут заметки в виде вставок кода 

Отправить список пользователей у которых есть диалог в группе

$dialogs =_vkApi_call('messages.getDialogs',array('count'=>200));
         $dialogs_tmp = $dialogs['items'];
         foreach ($dialogs_tmp as $slise_dialog_item){
                $user_ids[] = $slise_dialog_item['message']['user_id'];
        }
 bot_sendMessage($user_id,implode("\r\n",$user_ids));

суббота, 12 октября 2024 г.

Пропажа сайтов в аккаунте BrainyCp

 Ситуация. 

Пропали сайты из списка в аккаунте пользователя.
Файлы есть, база есть, конфиги есть, а в списке нету. 

Сами сайты не открываются. Висит 503 ошибка.


Решение.
Идем смотреть конфиги

  var/brainycp/data/vhosts/ Конфиг есть в данной директории?
  /var/brainycp/data/users/USER В этом конфиге есть параметр vhost_list 
  (В нем имя вашего сайта и алиаса).

В моем случае нужен был 

/var/brainycp/data/users/USER

Там смотрим все на корректность. В моем случае была странная строка в конце файла.

После удаления и перезапуска Apache и Nginx сайт завелся.