1С-Битрикс и zlib

Удаленная установка с помощью bitrixsetup.php не работает на некоторых сборках php5.3+.

Собственно при попытке установки происходит следующая ошибка:

GZIP module is not installed!

Дело в том что в установщике не учтен известный баг #53829, суть которого состоит в том что функция gzopen была заменена на gzopen64. Таким образом установщик 1С-Битрикс ссылается на функции без префиксов "64" и при проверки на наличие функции происходит ошибка.


Список доступных функций zlib можно просмотреть через терминале следующим образом:

php -r "var_dump(get_extension_funcs('zlib'));"

В этом списке могут оказаться такие имена:

  string(8) "gzopen64"
  string(8) "gzseek64"
  string(8) "gztell64"

В случае если такие наименование есть, проведем некоторые операции.

Так как прототипы функций "без префикса" и с префиксом "64" совпадают, нам достаточно заменить все имена в файле bitrixsetup.php на актуальные.

Сделать это можно либо через текстовый редактор, либо с помощью такой команды:

Далее можно зайти в веб-интерфейс установщика и выбрать устанавливаемую версию, после чего нажать "далее". Так как при этом установщик bitrixsetup.php обновит снова появиться "GZIP module is not installed!". Следовательно производим замену имен функций снова и жмем "f5"(повторно отправляем POST запрос).
На этом все, установка проходит как обычно.

Комментарии