Установка Zend Optimizer на Linux системах

Материал из wiki.p3.ru

Установка Zend Optimizer на Linux-дистрибутивы

(проверено 26.01.2010 на i386)

Zend Optimizer представляет собой модуль для интерпретатора PHP, который позволяет осуществляется запуск закодированных с помощью Zend Encoder и Zend SafeGuard Suite PHP-скриптов.

Популярные операционные системы, такие как CentOS и Debian Linux, не содержат в своем репозитории данное программное обеспечение. В статье приведена инструкция по установке.

Загрузка пакета Zend Optimizer

Необходимо загрузить нужный пакет с официального сайта разработчиков - http://www.zend.com/ в разделе Download. Для загрузки потребуется регистрация, однако без этого можно обойтись, загрузив файл по прямому адресу.

Зайдите на сервер по SSH и выполните команду:

Для 32-разрядных операционных систем (архитектура i386/i686)

# wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

Для 64-битной архитектуры (x86_64/amd64)

# wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

Определить архитектуру и операционную систему, которая установлена у вас на сервере, можно выполнив команду uname -a и посмотрев файл /etc/redhat-release (для CentOS) или /etc/debian_version (для Debian соответственно)

# uname -a
Linux example.com 2.6.18-128.2.1.el5.028stab064.8ent #1 SMP Sat Oct 31 11:32:49 MSK 2009 i686 i686 i386 GNU/Linux 
# cat /etc/redhat-release
CentOS release 5.4 (Final)

В данном случае на сервере установлена операционная система CentOS 5.4 с архитектурой i386

Установка на CentOS 5.4

После загрузки архива с ZendOptimizer необходимо его распаковать следующей командой:

# tar xzvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

Затем следует определить какая версия PHP у вас установлена:

# php -v
PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05)

В данном случае установлена версия PHP 5.1.6, в распакованном архиве находятся модули для разных версий

Скопируйте нужный модуль в какой-либо каталог, я рекомендую скопировать его ко всем остальным модулям, в данном случае /usr/lib/php/modules/

# cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_1_x_comp/ZendOptimizer.so /usr/lib/php/modules/

После чего следует отредактировать файл конфигурации PHP /etc/php.ini и добавить в него строку для загрузки модуля:

zend_extension=/usr/lib/php/modules/ZendOptimizer.so


Перезапустите веб-сервер Apache командой

# service httpd restart

На этом установка завершена.

Установка на Debian 5.0

Установка производится аналогично установке на CentOS Linux Необходимо определить версию PHP

# php -v
PHP 5.2.6-1+lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009 22:16:23)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

В Debian Linux расположение файлов конфигурации различно, так, например, для PHP4 в пути соответственно будет php4

Скопируйте модуль в папку к модулям PHP

# cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/lib/php5/

Debian Linux имеет различные файлы конфигурации для разных режимов работы PHP. В нашем случае эти файлы имеют имена.

/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini

Чтобы не добавлять строку zend_extension во все файлы, можно создать один файл

/etc/php5/conf.d/zend.ini

и прописать в него строку

zend_extension=/usr/lib/php5/ZendOptimizer.so

после чего необходимо перезапустить web-сервер:

# /etc/init.d/apache2 restart

Установка завершена, можно перейти к проверке работы.

Проверка работоспособности

После установки выполните команду php -m

# php -m
...
[Zend Modules]
Zend Optimizer

Тем самым можно убедиться, что модуль загружается.

Также можно посмотреть информацию о PHP, выполнив команду php -i

# php -i | grep Zend
Zend Extension => 220051025
Zend Memory Manager => enabled
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
 with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
Zend Optimizer
Zend Loader => enabled

либо выполнив код phpinfo на сайте

<?
phpinfo();
?>

И в завершение, если есть сомнения в работе, можно использовать какой-либо zend encoded testfile, например, разработчики Zend предлагают файл encoded.zip, который содержит файлы, закодированные Zend, и при его отсутствии выдадут сообщение "component "Zend Optimizer" is not installed"