При настройке веб-публикации информационной базы 1С на сервере Apache администраторы часто сталкиваются с парадоксальной ситуацией: в системе установлена 64-битная операционная система, используется 64-битный Apache и 64-битная платформа 1С:Предприятие, однако при попытке публикации через Конфигуратор возникает ошибка: «Невозможна публикация информационной базы на веб-сервере Apache при различной разрядности платформы (64) и веб-сервера (32)».
Эта проблема может поставить в тупик, так как визуально в диспетчере задач все процессы отображаются как 64-битные. В данной статье мы разберем причины возникновения этой ошибки и рассмотрим пошаговые методы её решения — от простых манипуляций с путями запуска до ручной правки конфигурационных файлов.
Первым делом проанализируем, какой именно исполняемый файл используется для запуска Конфигуратора. В Windows 64-бит существуют две основные папки для установки программ:
C:/Program Files/ — для 64-битных приложений.C:/Program Files (x86)/ — для 32-битных приложений.Часто ярлык на рабочем столе или программа-загрузчик 1cestart.exe по умолчанию запускает 32-битную версию платформы, даже если установлена 64-битная. Если вы запустили 32-битный Конфигуратор, он будет пытаться найти 32-битный Apache и, не обнаружив его (или обнаружив 64-битный), выдаст ошибку о несоответствии разрядности.
Решение: Попробуйте запустить Конфигуратор напрямую из папки с 64-битной платформой. Путь будет выглядеть примерно так:
C:/Program Files/1cv8/8.3.XX.XXXX/bin/1cv8.exe
После запуска именно этого файла повторите попытку публикации через меню «Администрирование» — «Публикация на веб-сервере».
Выясним причину, связанную с составом установленных компонентов 1С. При установке платформы необходимо явно указывать компоненту «Модули расширения веб-сервера». Если вы ранее устанавливали 32-битную версию 1С с этими модулями, а затем обновились на 64-битную, в системе могли остаться старые регистрации библиотек.
Рассмотрим порядок действий для исправления:
bin вашей версии 1С. Там должен присутствовать файл wsap24.dll (для Apache 2.4) или wsap22.dll (для Apache 2.2).Иногда 1С не может корректно определить разрядность Apache, если служба была установлена некорректно или пути в реестре ведут к старым инсталляциям. Посмотрим на эффективный метод «чистой» перерегистрации службы Apache. Для этого запустите командную строку (cmd) от имени администратора, перейдите в папку bin вашего Apache и выполните команды:
httpd.exe -k uninstall
httpd.exe -k install
Это действие обновит записи в системном реестре, и Конфигуратор 1С сможет получить правильную информацию об установленном сервере. После этого обязательно перезапустите компьютер.
Если графический интерфейс Конфигуратора продолжает выдавать ошибку, мы можем выполнить публикацию вручную. Это наиболее надежный способ, так как он исключает ошибки алгоритмов проверки разрядности внутри самой оболочки 1С. Проанализируем этот процесс поэтапно.
Публикация состоит из двух частей: внесение изменений в файл httpd.conf веб-сервера Apache и создание файла описания виртуального ресурса default.vrd.
Шаг 1. Редактирование httpd.conf
Найдите файл конфигурации Apache (обычно находится в C:/Apache24/conf/httpd.conf). В самый конец файла необходимо добавить блок загрузки модуля 1С и описание пути к базе. Разберем пример для 64-битной платформы 8.3.18.1208 и Apache 2.4:
# Загрузка модуля расширения 1С
LoadModule _1cws_module "C:/Program Files/1cv8/8.3.18.1208/bin/wsap24.dll"
# Настройка публикации базы под именем MyWebBase
Alias "/MyWebBase" "C:/inetpub/wwwroot/MyWebBase/"
<Directory "C:/inetpub/wwwroot/MyWebBase/">
AllowOverride All
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "C:/inetpub/wwwroot/MyWebBase/default.vrd"
</Directory>
Важное замечание: Если вы используете Apache версии 2.2, вместо wsap24.dll используйте wsap22.dll, а строку Require all granted замените на Allow from all.
Шаг 2. Создание файла default.vrd
В папке, которую вы указали в Alias (в нашем примере это C:/inetpub/wwwroot/MyWebBase/), создайте текстовый файл с именем default.vrd. Рассмотрим его типовое содержимое для файловой базы:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/MyWebBase"
ib="File="C:\1C_Bases\MyBase";">
<ws enable="true"/>
<httpServices publishByDefault="true"/>
<standardOdata enable="true"/>
</point>
Параметр ib должен содержать строку подключения к вашей базе (путь к папе для файловой или Srvr=...;Ref=...; для клиент-серверной версии).
Проанализируем еще один профессиональный инструмент — консольную утилиту webinst, которая поставляется вместе с платформой 1С. Она позволяет выполнить публикацию без использования Конфигуратора, что часто помогает избежать ошибок определения разрядности.
Запустите командную строку от имени администратора и перейдите в bin 64-битной платформы. Выполните команду следующего вида:
webinst -apache24 -wsdir MyBase -dir "C:\inetpub\wwwroot\MyBase" -connstr "File='C:\1C_Bases\MyBase';" -confPath "C:\Apache24\conf\httpd.conf"
Разберем параметры команды:
-apache24 — тип и версия вашего веб-сервера.-wsdir — имя виртуального каталога (как база будет называться в URL).-dir — физический путь, где будет лежать файл default.vrd.-connstr — строка соединения с информационной базой.-confPath — полный путь к основному файлу конфигурации Apache.Если вышеуказанные методы не помогают, проанализируем системные настройки окружения:
HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\. Если ваш Apache установлен простым копированием файлов (portable-версия), записей в реестре может не быть. В этом случае 1С по умолчанию считает его 32-битным. Рекомендуется использовать официальные инсталляторы (например, от Apache Lounge) или добавлять записи в реестр вручную.wsap24.dll требуются пакеты распространяемого кода Visual C++ x64. Убедитесь, что в системе установлены версии VC++ (2015-2019) соответствующей разрядности.Таким образом, проблема «разной разрядности» чаще всего является следствием того, как 1С считывает информацию об окружении. Используя ручную правку конфигурации или утилиту webinst, вы сможете успешно опубликовать базу, игнорируя некорректные проверки встроенного мастера публикаций Конфигуратора.