Из приведённого кода не понятно, в чем проблема. Сделайте пример в какой-нибудь онлайн-песочнице, где баг будет воспроизводиться. И добавьте в вопрос ссылку на него.
Сталкивался с похожим поведением, когда на компьютере был подключен недоступный сетевой диск. Т.е. подключили самба-шару с тестового сервера в сети, потом сервер отключили и перенесли, но сетевой диск на компе отключить забыли.
Тормоза были по 2-3 при практически любых действиях с проводником.
Работа с SFTP у вас идёт прямо внутри запросов к веб-серверу, или через крон/консольный запуск процессов? Если через крон - то можно запускать PHP с отдельным конфигом php.ini, в котором выставлять func_overload=0
Обновить битрикс возможности у вас нет? Они в 21-какой-то версии наконец отказались от mbstring.func_overload=2, и корректно работают с func_overload=0 и не конфликтуют с требующими этого библиотеками.
TERMINAT0R, Вы запускаете сервер на ноде, на экспрессе. Но не объяснили ему, что статические файлы он тоже должен обрабатывать и отдавать клиенту сам. Он сейчас умеет отдавать только корень (app.get('/')).
Если вы используете какую-то технологию - озаботьтесь изучением документации по ней.
havertz, чтобы понять проблему - надо увидеть ошибку.
У вас коннект к БД вообще проходит? Ошибки при выполнении запроса выводятся? Если ваш php-код запускает выполнение sql-запроса, но он не производит никаких изменений в БД - значит он упал и должна быть ошибка.
havertz,
1. в файле connect.php в конце добавить return $connect;
2. в основном файле подключение коннекта сделать через $connect = require '../vendor/connect.php';
3. после составления запроса выполнить mysqli_query($connect, $sql);
НО это очень плохой способ, череватый кучей проблем. Найдите актуальную инструкцию по работе с базой через PDO.
havertz, дочитайте тот учебник/статью/туториал, по которому вы учитесь работать с БД.
А ещё лучше - поищите актуальную инструкцию, работать в базой правильнее через PDO.
Автор, а где в вашем коде в принципе выполняется запрос в БД? Текст SQL-запроса вы собираете в строку (оставим пока за скобками грамотность вашего подхода), но где вы этот запрос отправляете в базу на выполнение?
Alpha12, проблема с тем, что при монтировании файловой системы с Windows внутрь wsl2 очень сильно деградирует скорость файловых операций. Сам сталкивался с этой проблемой. Нашёл только такие варианты:
1. отказаться от винды :) на линуксе докер работает просто отлично
2. монтировать папку с кодом сайта не с винды, а из файловой системы WSL. Т.е. скопировать код внутрь файловой системы WSL и при старте контейнера указывать путь к ней. Работать с кодом становится менее удобно, но например через PhpStorm папку кода открыть при этом можно. Путь получается примерно таким \\wsl$\Debian\home\user\projects\site\ (если на wsl код скопирован в домашнюю папку текущего пользователя)
Вероятно проблема не в компиляторе, а в локали системы. Посмотрите текущие используемые локали, команда locale в консоли. Должно быть что-то типа:
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
Виталий, вы сейчас делаете запросы в базе по количеству значений в arSource. Почему не получить 1 запросом с группировкой, если вам нужно только количество? https://dev.1c-bitrix.ru/api_d7/bitrix/main/entity... параметр group, там же в документации ссылка на страницу обучающего курса с примерами.