Доброго времени суток, уважаемое сообщество, был недавно случай, вот решил поделиться.
Итак, пришел клиент с уже проплаченным на год вперед хостингом с задачкой, установить новое битрикс-решение на сервер (честно, жутко не люблю таких, но меня редко спрашивают: все ищут подешевле...).
Как обычно перед началом установки, запускаем скрипт bitrix_server_test.php. Скрипт показывает несколько ошибок, в том числе и отсутствие прекомпилятора. Совместно с техподдержкой хостинга все ошибки устраняем, а вот по поводу прекомпилятору получаем ответ:
в рамках виртуального хостинга прекомпилятор установить нельзя
Вот так вот.
Сообщаем об этом клиенту. Получаем от него ответ: Доброго времени суток.
Искренне не понимаю в чем проблема.Всё кроме прекомпилятора удалось сделать и настроить. Так мне объяснили. Почему он стал камнем преткновения? Открытые источники пишут:"Прекомпилятор- акселератор PHP. Выдержка из Wikipedia:программа,ускоряющая исполнение сценариев PHP интерпретатором путём кэшированияих байткода.Иными словами эта штука компилирует код, кэширует скомпилированную версию и при обращении к скрипту, выполняет его скомпилированную копию из кэша. Прекомпилятор является необязательным— Битрикс ставится и без него." ....
Автор сих строк, простите, за дословный копипаст, но, считаю, что это проблема всех заказчиков, которые не понимают необходимость данного момента.
Вот мой ответ:
Добрый день. Обязательность наличия прекомпилятора в официальных технических требованиях не указана. Наличие прекомпилятора является необходимым требованием. В случае, если сайт будет представлять из себя набор статических файлов, т.е. на страницах сайта не будут использованы ни компоненты системы 1С-Битрикс, ни какой-либо другой php-код, то прекомпилятор не нужен (единственное место где будет заметно его отсутствие – это административный раздел, но количество пользователей, имеющих доступ в данный раздел ограничено, поэтому нагрузка не будет сильно заметна). В противном же случае, каждый раз при открытии одной и той же страницы (открытие страницы разными пользователями в одно время – это тоже разные открытия страницы), сервер будет выполнять 4 основных этапа выполнения php-кода: «лексический анализ кода»; «синтаксический анализ кода»;«генерация байт-кода»; выполнение «байт-кода», что является достаточно трудоемким процессом и при запуске одновременно нескольких таких процессов приведет к большим перегрузкам процессора сервера. Для того, чтобы таких перегрузок не было и используется прекомпилятор, который выполняет описанные шаги и результат их выполнения записывает в своем кеше. Это вкратце необходимость прекомпилятора. Мы можем установить систему на данный сервер, но, отсутствие прекомпилятора приведет к очень медленной работе публичной части сайта (при наличии каких-либоx php-частей на сайте), а также к увеличению трудозатрат при разработке каких-либо блоков на сайте (верстка готовых компонентов или разработка новых).
Вот такой вот диалог вышел. Сообщество, жду от вас критики, если что не так говорю, или одобрения, если все так.
Алексей, давайте будем честными друг с другом. Кидать компоненты Заказчик не хочет. Они ему не нужны даром. Как и решения. И битрикс. И прекомпилятор с хостингом вместе. Ему вообще-то даже сайт не нужен.
Заказчику надо решить БИЗНЕС ЗАДАЧУ, например по продаже товара или услуги.
Эта бизнес-задача не может быть решена здесь и сейчас с запуском сайта. Кроме того, решение многих бизнес-задач не требует большого сложного функционала и объёмов траффика.
В вашем случае следует предупредить клиента, что отсутствие прекомпилятора может привести к значительному возрастанию нагрузки на сервер и необходимости докупать ресурсы (или сменить хостинг). В случае если действительно будет функционал и траффик. Вы МОЖЕТЕ рекомендовать Заказчику сменить хостинг на такой, где прекомпилятор поставить можно. Или вы можете объяснить, что это может потребоваться сделать в будущем, когда проект будет запущен (либо докупать ресурсы у нынешнего хостера, как я и написал).
Таким образом клиент поймёт, что в принципе в отсутствие прекомпилятора ничего страшного нет (и это ПРАВДА), но так же вы обрисуете ему довольно мрачную перспективу неконтролируемого роста расходов на железа или простоя при смене хостинга когда проект вырастет.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».