zend optimizer что это
Установка Zend Optimizer
Установка Zend Optimizer
Подключаемся к серверу по SSH и скачиваем архив командой:
Для 32-разрядных операционных систем (архитектуры i386/i686):
Для 64-разрядных (архитектуры x86_64/amd64):
Установка на CentOS 6.2 x86_64
В приведенном выше примере на сервере установлена операционная система CentOS 6.2 с архитектурой x86_64
Скачиваем архив Zend Optimizer следующей командой:
После скачивания архива Zend Optimizer распаковываем его выполнив следующую команду:
Проверяем версию PHP командой:
В данном случае установлена версия PHP 5.2.17, в распакованном архиве находятся модули для разных версий PHP копируем модуль для 5_2_х в директорию с модулями PHP:
Далее редактируем файл конфигурации PHP /etc/php.ini добавив в него строку для загрузки модуля:
Перезапускаем web-сервер Apache командой:
Установка на Debian 5.0 i386
Установка производится аналогично установке на CentOS:
Копируем модуль в директорию modules/ командой:
Чтобы не добавлять строку zend_extension во все файлы php.ini, создаем файл zend.ini
и прописываем в него строку
сохраняем изменения в файле и перезапускаем web-сервер Apache:
Установка завершена, проверяем работу:
Тем самым можно убедиться, что модуль загружается.
Также можно посмотреть информацию о PHP, выполнив команду:
также можно проверить создав в директории домена файл info.php, после запросить его из браузера domain.ru/info.php. Код файла info.php:
Установка ZendOptimizer на php5.3 Debian 6.0 x86_64:
Скачиваем с сайта разработчика модуль соответствующий архитектуре Вашей ОС:
Ставим 7zip архиватор, если он не установлен :
Переходим в директорию ZendServer-5.0.3_Tarball_B3-php5.3.3-linux-glibc23-x86_64/ и разархивируем:
Копируем библиотеку в директорию модулей php:
Создаем файл zend.ini и добавляем в него следующую строчку:
Перезапускаем web-сервер Apache и проверяем результат установки:
Установка Zend Guard Loader Debian 6.0 x86_64:
Установка аналогична установке ZendOptimizer, скачиваем модуль в зависимости от архитектуры:
Установка Zend Optimizer. Как установить Zend Optimizer на виртуальном сервере?
Перейдем в директорию /tmp:
Загрузим дистрибутив с сайта производителя для 32-битных ОС:
или для 64-битных ОС:
Переходим в директорию ZendOptimizer-3.3.9-linux-glibc23-i386:
Копируем файл для версии 5.2.xx:
В файл /etc/php.ini вносим строки в секцию [Zend]:
Перезапускаем Apache командой:
Внимание! При наличие иных акселераторов они должны быть установлены в /etc/php.ini ранее, чем ZendOptimizer. Большинство последних панелей Plesk устанавливает автоматически IonCube, что не позволит запуститься Apache после установки ZendOptimizer.
Для отключения IonCube перейдите в /etc/php.d/ioncube-loader.ini и поставьте # в первой строке файла перед zend_extension.
Возможные проблемы при установке предыдущих версий ZendOptimizer
Ошибка «Failed loading /usr/local/Zend/lib/ZendExtensionManager.so: /usr/local/Zend/lib/ZendExtensionManager.so: failed to map segment from shared object: Permission denied», запись в логах «kernel: audit(1242042081.545:8): avc: denied < execute >for pid»
Fedora Core comes with SELinux security extension enabled by default. This security extension limits access to some files and system services by popular daemon programs like httpd. To learn whether SELinux is enabled on the machine you can run the following command: /usr/sbin/getenforce
Workaround
Zend Optimizer — являет собой серверный модуль для запуска закодированных с помощью Zend Encoder и Zend SafeGuard Suite скриптов, а также немного их ускоряющий (заявлено, что до 40%).
Установка Zend Optimizer на VPS происходит по SSH c правами суперпользователя (root)
1. Быстренько скачиваем пакет Zend Optimizer к себе на сервер. Для этого используем, например, wget:
2. Распаковываем пациента, tar в помощь:
$ tar zxf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
3. В созданной распаковщиком директории ZendOptimizer находим установочный скрипт и запускаем его:
Смотрим, что нам пишет установщик, следуем инструкциям, если нужно.
Для OC Linux Debian и Ubuntu:
Для OC Linux CentOS:
Пользуемся благами прогресса 🙂 Только с умом.
Zend optimizer что это
Часто при переходе на новый хостинг или при апгрейде операционной системы сервера пользователи Joomla задают вопросы типа «Используют ли мои сайты Zend Optimizer? Нужен ли Zend Optimizer, чтобы заработал сайт на Joomla?». В этом случае важно понять, что подразумевается под «Zend Optimizer», потому что у компании Zend Technologies много продуктов, и все они имеют разное назначение (здесь приведен перевод статьи [1]).
Часто Zend Optimizer путают с Zend Guard, который является специальной утилитой, позволяющей компаниям-разработчикам программного обеспечения продавать свои скрипты PHP, не открывая их исходный код. Возможно, все это звучит несколько неопределенно, поэтому давайте разберемся, как работают технологии Zend.
Zend Guard: это совершенно другая программа (платная), которая позволяет разработчикам PHP шифровать свои скрипты (для расшифровки как раз и нужен Zend Optimizer). Шифрование защищает интеллектуальную собственность от реверс-инжиниринга и неавторизованного использования. На работающем WEB-сервере с Joomla не нужен Zend Guard, поскольку он требуется только разработчикам PHP, которые по разным причинам хотят защитить свои продукты.
Подробнее про продукты компании Zend Technologies можно почитать в Википедии [2].
Обычно когда Вы устанавливаете стандартное расширение (например, расширение, которое для запуска не требует каких-то дополнительных утилит), файлы расширения просто будут распакованы в соответствующие места (каталоги сервера Joomla, которые указаны в XML-файле манифеста установочного пакета расширения), таблицы #__assets и #__extensions в базе данных будут обновлены, и после этого расширение обычно сразу готово к работе. Любой запрос для использования этого расширения со стороны посетителя сайта будет выполняться следующим образом:
• Браузер посылает запрос к WEB-серверу.
• Apache проверяет запрос и отмечает, что запрос состоит из обработки файлов PHP. Таким образом, запрос (и вся информация, связанная с ним) передается парсеру PHP.
• Парсер PHP читает нужные файлы PHP (например, файлы ядра Joomla, и файлы, связанные с Вашим расширением), и проверяет эти файлы на отсутствие ошибок.
• Парсер PHP интерпретирует файлы и генерирует выходные данные (делает рендеринг отображаемой веб-страницы).
• PHP передает выходные данные к Apache.
• Apache отправляет данные браузеру пользователя, который ранее отправил запрос.
• Браузер отображает выходные данные (запрошенную веб-страницу).
Все вышеперечисленное происходит, когда запускаются обычные расширения, они не требуют никаких внешних дополнений и утилит для своего запуска. Теперь давайте посмотрим, что произойдет с тем расширением, которое Вы купили (если оно требует для запуска Zend Optimizer):
• Браузер посылает запрос к WEB-серверу.
• Apache проверяет запрос и отмечает, что запрос состоит из обработки файлов PHP, которые были закодированы Zend Guard (обратите внимание: закодированные файлы PHP не могут быть напрямую обработаны парсером PHP).
• Zend Optimizer расшифровывает файлы, где находятся закодированные скрипты PHP, и передает запрос подсистеме PHP.
• PHP теперь может прочитать декодированные файлы. Они проверяются на ошибки, интерпретируются, и сгенерированные данные передаются серверу Apache.
• Apache отправляет данные браузеру пользователя, который ранее отправил запрос.
• Браузер отображает выходные данные (запрошенную веб-страницу).
Если Вы думаете, что последний метод создает излишнюю нагрузку для сервера, то будете правы. Если у Вас очень большой сайт, то избегайте устанавливать закодированные расширения, потому что они создадут большую (и ненужную) нагрузку на сервер, когда происходит декодирование Zend Optimizer (или любым другим подобным кодировщиком/декодером PHP).
Zend Optimizer+ наконец выложен на гитхаб
Пару недель назад, Zeev Suraski, один из главных контрибьюторов PHP и по совместительству co-founder Zend, предложил включить в ядро PHP Zend Optimizer+.
Zend Optimizer+ это, так же как и Apc, кешер опкодов. Но, в отличии от Apc, он также неплохо умеет применять стандартные паттерны оптимизации кода.
Помимо этого, оптимайзер дает одну хорошую плюшку — его разработку поддерживает коммерческая организация, например стабильная поддержка трейтов в нем появилась почти одновременно с релизом PHP 5.4, в то время как APC нужно было ждать около полугода. В данный момент он уже поддерживает PHP 5.5.
Также по заявлениям его разработчиков, он по скорости во многих случаях превосходит Apc до 50% (впрочем это синтетика). На реальном, совсем несложном приложении, прирост в скорости генерации страницы был примерно 10% (по сравнению с Apc), но я думаю в более сложных приложениях его оптимизации могут принести больше пользы.
В данный момент оптимайзер отлично работает с симфони, но был issue на гитхабе относительно фреймворка Nette, и был оперативно закрыт. В общем в оптимайзере все таки еще, очевидно, есть баги, т.к. раньше им пользовались только юзеры Zend Server, коих не много, так что должного ‘народного’ тестирования он не получал, но несмотря на это баги быстро фиксят, так что… давайте тестить!
Репозиторий проекта находится здесь, там же есть инструкция как собрать его под линуксом, если же вы хотите воспользоваться им под виндой, можете взять уже готовые бинарники отсюда.
Кстати, вы можете почитать, какие оптимизации применяются в разных кругах ада пассах в комментариях в файлах Optimizer/pass*.c
PS директива save_comments, когда выставлена в ноль, ломает работу библиотек, полагающихся на аннотации. Аккуратно читайте README.
Установка Zend Optimizer на сервер и localhost
Предисловие
Скачайте последнюю версию Zend Optimizer с официального сайта разработчика. Во время скачивания выберите дистрибутив, подходящий для вашей операционной системы. Zend Optimizer распространяется абсолютно бесплатно, тем не менее при скачивании вас попросят зарегистрироваться на сайте разработчика.
Предполагается, что у вас уже установлен веб-сервер Apache с интерпретатором PHP. Если указанное программное обеспечение не установлено на вашем компьютере, вам следует установить его перед установкой Zend Optimizer’а.
Установка Zend Optimizer в среде Windows
Запустите скачанный установщик двойным щелчком курсора мыши. Мастер установки первым шагом проверит конфигурацию вашего компьютера и проверит существуют ли уже установленные ранее версии Optimizer’а.
Шаг 1 — Проверка конфигурации компьютера
Шаг 2 — Приветствие
Шаг 3 — Лицензионное соглашение
Для того, чтобы продолжить установку вам необходимо прочитать и согласиться с условиями лицензионного соглашения. Для этого выберите опцию «I accept the terms of license agreement» и нажмите кнопку «Next» для перехода к следующему шагу.
Шаг 4 — Выбор места установки программы
На данном шаге вам предлагается выбрать папку, в которую следует установить Zend Optimizer. По умолчанию мастер предложит установить Optimizer в папку C:\Program Files\Zend\ZendOptimizer-3.x.x
Вы можете изменить местоположение папки установки используя кнопку «Browse. «.
После тогого, как папка установки будет выбрана, нажимайте кнопку «Next» для перехода к следующему шагу.
Шаг 5 — Выбор веб-сервера
Укажите веб сервер, с которым будет работать Zend Optimizer. В основном, вам следует сделать свой выбор между веб-серверами IIS, Apache 1.x, Apache 2.x и другими. Вам следует правильно указать с какой версией Apache следует иметь дело установщику — в этом случае установщик сможет автоматически правильно настроить веб-сервер на работу с Zend Optimizer’ом.
После того, как веб-сервер будет выбран, нажмите «Next» для перехода к следующему шагу.
Шаг 6 — Выбор местоположения файла php.ini
Установщику потребуется записать в файл конфигурации РНР свои настройки. Для этого вы должны указать правильный путь к папке в которой данный файл расположен в вашей системе. По умолчанию, установщик предполагает, что php.ini файл расположен в папке C:\WINDOWS\. Если это не так, нажмите кнопку «Browse. » и выберите папку с помощью такого диалогового окна:
Обычно файл php.ini располагается либо в папке C:\WINDOWS, либо в папке установки интерпретатора РНР. Если вы нашли несколько таких файлов в своей системе и не знаете какой же из них вам следует выбрать, сделайте следующее.
В корнневой директории веб вашего веб-сервера поместите файл info.php со следующим содержимым:
Откройте ваш браузер и наберите адрес доступа по HTTP к данному файлу на вашем локальном веб-сервере. Как правило такой адрес выглядит так:
В результате вы должны увидеть информацию о вашем веб-сервере и интерпретаторе РНР. Посмотрите значение директивы «Configuration File (php.ini) Path». В значении будет указано какой файл настроек интерпретатора РНР использует ваш веб-сервер.
После того, как путь к файлу настроек PHP будет указан нажимайте кнопку «Next» для перехода к следующему шагу.
Шаг 7 — Выбор местоположения установки веб-сервера
Вам следует указать папку, в которой находится установленный веб-сервер. Для выбора этой папки воспользуйтесь кнопкой «Browse». Правильно указать папку установки веб-сервера очень важно для изсбежания ошибок в работе мастера.
После того как папка будет указана должным образом, нажимайте кнопку «Next» для перехода к следующему шагу.
Шаг 8 — Подтверждение правильности собранной информации
Мастер предложит вам ещё раз внимательно изучить какая информация была собрана им в процессе установки. Если вы увидите, что какая-то информация указана неверно, у вас ещё есть шанс вернуться и исправить ее. Для этого воспользуйтесь кнопкой «Back» для возврата к предыдущим шагам.
Если же вы уверены в правильности собранной информации, смело нажимайте «Install» и переходите непосредственно к установке Zend Optimizer’а.
Шаг 9 — Установка Zend Optimizer
Если ваш веб-сервер запущен, мастер выдаст вам предупреждение о том что на протяжении процесса установки Zend Optimizer ваш сервер будет отключен. Вам следует нажать «Да» («Ok»), т.е. согласиться на это условие.
Далее вы увидите сообщения об остановке сервера:
А также об установке Optimizer’а и включении веб-сервера. После этого мастер должен вам показать свой последний экран.
Шаг 10 — Завершение установки
Если вы увидели данное окно, значит установка Zend Optimizer прошла успешно. Чтобы выйти из программы установки нажмите кнопку «Finish» или просто закройте это окно.
Установка Zend Optimizer в среде Linux
Вам необходимо иметь права суперпользователя (root) для того чтобы установить Zend Optimizer. Распакуйте скачанный дистрибутив командой:
Войдите в папку распакованного дистрибутива командой:
Запустите скрипт install-tty (предполагается что мы используем терминал к Linux серверу, поэтому нас интересует установка в текстовом режиме). Наберите команду:
Следуйте инструкциям установки. Шаги сходны с установкой в Windows.
Для верности перезапустите ваш веб сервер командой:
Официальная документация по Zend Optimizer на английском языке содержиться в файле
Проверка установки Zend Optimizer
После установки убедитесь, что ваш сервер настроен должным образом на работу с Zend Optimizer. Для этого:
Откройте ваш браузер и наберите адрес доступа по HTTP к данному файлу на вашем локальном веб-сервере. Как правило такой адрес выглядит так:
В результате вы должны увидеть информацию о вашем веб-сервере и интерпретаторе РНР. Найдите информации о Zend Optimizer. Вы можете это сделать осуществив поиск текста «Zend Optimizer» по странице (нажав Ctrl+F). Если информация не была найдена, значит вам следует проверить настройки интерпретатора РНР (см. п. 1).