Нужен ли Zend Optimizer для запуска Joomla? |
![]() |
Добавил(а) microsin |
Часто Zend Optimizer путают с Zend Guard, который является специальной утилитой, позволяющей компаниям-разработчикам программного обеспечения продавать свои скрипты PHP, не открывая их исходный код. Возможно, все это звучит несколько неопределенно, поэтому давайте разберемся, как работают технологии Zend. Zend Optimizer: это бесплатно устанавливаемое на WEB-сервер приложение, которое позволяет на лету декодировать скрипты, зашифрованные другой программой - Zend Guard. Включить или выключить Zend Optimizer можно редактированием настроек файла php.ini. Несмотря на громкое название, этот "оптимизер" ничего не оптимизирует, а только декодирует зашифрованные скрипты PHP. Zend Guard: это совершенно другая программа (платная), которая позволяет разработчикам PHP шифровать свои скрипты (для расшифровки как раз и нужен Zend Optimizer). Шифрование защищает интеллектуальную собственность от реверс-инжиниринга и неавторизованного использования. На работающем WEB-сервере с Joomla не нужен Zend Guard, поскольку он требуется только разработчикам PHP, которые по разным причинам хотят защитить свои продукты. Подробнее про продукты компании Zend Technologies можно почитать в Википедии [2]. Обычно когда Вы устанавливаете стандартное расширение (например, расширение, которое для запуска не требует каких-то дополнительных утилит), файлы расширения просто будут распакованы в соответствующие места (каталоги сервера Joomla, которые указаны в XML-файле манифеста установочного пакета расширения), таблицы #__assets и #__extensions в базе данных будут обновлены, и после этого расширение обычно сразу готово к работе. Любой запрос для использования этого расширения со стороны посетителя сайта будет выполняться следующим образом: • Браузер посылает запрос к WEB-серверу. Все вышеперечисленное происходит, когда запускаются обычные расширения, они не требуют никаких внешних дополнений и утилит для своего запуска. Теперь давайте посмотрим, что произойдет с тем расширением, которое Вы купили (если оно требует для запуска Zend Optimizer): • Браузер посылает запрос к WEB-серверу. Если Вы думаете, что последний метод создает излишнюю нагрузку для сервера, то будете правы. Если у Вас очень большой сайт, то избегайте устанавливать закодированные расширения, потому что они создадут большую (и ненужную) нагрузку на сервер, когда происходит декодирование Zend Optimizer (или любым другим подобным кодировщиком/декодером PHP). [FAQ] Да, Zen Guard не единственный, есть и другие. Широко известен также ionCube PHP Encoder. У Zen Guard и ionCube PHP Encoder примерно одна и та же производительность.
Такого хостера найти очень просто, потому что почти все провайдеры хостинга имеют Zend Guard (по неким таинственным причинам многие компании называют Zend Guard как Zend Optimizer) и ionCube PHP Encoder, установленные на свои сервера VPS, и приписанные к тарифным планам выделенных серверов.
Нет, обычно оплата входит в цену тарифного плана хостинга. Мы не видели ни одной компании - провайдера хостинга, которая брала бы дополнительную плату за кодировщики PHP.
Нет, все что происходит на Вашем сервере, остается на Вашем сервере. Zend Guard и ionCube PHP Encoder не отсылают к себе никакой информации, так что Вы можете использовать их без проблем. Однако это вовсе не гарантирует, что закодированный скрипт не будет посылать какую-то информацию. Самый лучший способ убедится в этом - мониторить трафик Вашего сервера для любых странных соединений, когда Вы используете свое (закодированное) приложение.
Конечно, недостатки есть. Основной недостаток уже упоминался - чрезмерная нагрузка на сервер. Второй недостаток в том, что закодированные приложения PHP являются черным ящиком. Если они есть, то это может означать что угодно - например, в приложении используется плохой стиль программирования (в просторечии "говнокод"), или разработчик не хочет, чтобы Вы знали, какие на самом деле функции выполняет приложение. Кроме того, таки приложения почти невозможно расширить или перенастроить - кроме тех возможностей, которые изначально предоставлены разработчиком.
Joomla никак не связана напрямую с закодированными скриптами PHP. Весь код, с которым имеет дело Joomla, должен быть декодирован изначально (файлы должны быть либо не закодированы, либо расшифрованы декодером PHP) перед каким-то взаимодействием с системой Joomla. Поэтому с совместимостью Joomla никаких проблем нет.
Однако есть другой вид несовместимости, связанный не с Joomla, а с версией PHP. Например, на многих серверах, где установлен PHP 5.3, отключена поддержка Zend Optimizer. Поэтому если у Вас на сайте используется расширения, требующие Zend Optimizer, то тщательно выясняйте, какая версия PHP установлена на хостинге - нужна версия PHP 5.2 и ниже. Пока мы не дали технический ответ на вопрос в заголовке (несмотря на то, что ответ очевиден). Итак, давайте ответим прямо сейчас: Joomla во всех популярных не сегодняшний день версиях (1.5, 2.5 или 3.x) не требует для своей корректной работы ничего другого, кроме рабочего окружения из базового пакета LAMP (Linux, Apache, MySQL и PHP). Подробнее про идеальные условия функционирования Joomla см. [3]. Если коротко, базовая инсталляция Joomla без наличия на ней сторонних расширений может отлично работать без Zend Optimizer. Если сайт Joomla имеет расширения, которые требуют Zend Optimizer, но это потребует для всего сайта, чтобы на том сервере, где работает Joomla, был установлен Zend Optimizer.
Способ 1. Поскольку Zend Optimizer тесно связан с подсистемой (парсером) языка PHP, то для получении информации о продуктах Zend на сервере выполните команду phpinfo из скрипта PHP:
< ?php phpinfo(); ?> В результате выведется подробная информация по настройкам PHP и установленным компонентам. Части, связанные с Zend Optimizer, будут выглядеть примерно так: This program makes use of the Zend Scripting Language Engine:Zend Engine vX.Y.Z, Copyright (c) 1998-2007 Zend Technologies. with Zend Optimizer vX.Y.Z, Copyright (c) 1998-2007, by Zend Technologies Может также красоваться такой логотип: Способ 2. Командой php -v можно узнать версию установленной подсистемы PHP, и работает ли совместно с PHP подсистема Zend: PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug 4 2010 06:06:53) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies [Ссылки] 1. Does Joomla Require Zend Optimizer to Run? site:itoctopus.com. |