Ситуация: Вы обновляете платформу 1С на сервере с Windows Server 2019, перезагружаете сервер или пытаетесь перезапустить веб-сервер Apache вручную и видите в окне служб или в журнале Windows ошибку:
Служба "Apache2.4" завершена из-за следующей внутренней ошибки: Неверная функция.
Служба не стартует, сайты и веб-сервисы 1С, естественно, не работают. В чем проблема и как быстро её исправить?
В 99% случаев эта ошибка означает, что Apache не может загрузить один из своих модулей. Чаще всего это модуль для работы с 1С (mod_1c или аналогичный), путь к которому прописан в конфигурационном файле httpd.conf.
При обновлении платформы 1С файлы модуля (обычно wsap24.dll или похожие) перезаписываются в новой папке (например, C:\Program Files\1cv8\8.3.23.1234\bin), а старый путь в конфиге Apache всё ещё ведёт в папку предыдущей версии (например, C:\Program Files\1cv8\8.3.22.1756\bin). Apache пытается загрузить модуль, не находит файл по старому адресу и падает с туманной ошибкой «Неверная функция».
Прежде чем лезть в дебри логов, нужно проверить конфигурацию Apache. В состав Apache входит утилита для синтаксической проверки конфигов.
C:\Apache24\bin). Команда:cd C:\Apache24\bin
httpd.exe -t
Вы увидите примерно такой вывод:
AH00526: Syntax error on line 123 of C:/Apache24/conf/httpd.conf: Cannot load modules/mod_1c.so into server: %1 не является приложением Win32
Или, в вашем случае с ошибкой «Неверная функция», она будет написана прямо в выводе русским языком (как в заголовке статьи). Главное — команда укажет точную строку в файле httpd.conf, где произошла ошибка.
C:\Apache24\conf\httpd.conf (путь может отличаться, если вы ставили Apache в другое место) в любом текстовом редакторе (Блокнот, Notepad++, VS Code).httpd.exe -t. Она будет выглядеть примерно так:LoadModule _1cws_module "C:/Program Files/1cv8/8.3.22.1756/bin/wsap24.dll"
C:\Program Files\1cv8 и посмотреть, какая папка с версией там есть.Новый путь должен выглядеть так (версия платформы может отличаться):
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.23.1912/bin/wsap24.dll"
Обратите внимание: В путях Windows в конфиге Apache используются прямые слэши / или экранированные обратные \\. Обычный обратный слэш \ может не сработать.
httpd.exe -t
Если всё хорошо, вы увидите заветное:
Syntax OK
services.msc или командой:net start Apache2.4
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()