июня 11 2010 11:27 дп

Установка Zend Optimizer на Ubuntu 10.04 LTS

Как известно, в дистрибутиве Ubuntu всегда используется новое программное обеспечение, php в версии Ubuntu 10.04 не стало исключением и имеет версию 5.3.2. Zend же на данный момент имеет поддержку только версий php 5.2.X, и работать с более высокой версией не будет. Решить данную проблему  можно при помощи понижения версии php, использую репозитории предыдущей версии ubuntu, karmic koala.

Для начала установите необходимы пакеты php из текущих репозиториев. Затем создайте скрипт для создания отдельного конфиг файла для использования репозитория от ubuntu версии karmic и установки пакетов php оттуда, с удалением текущих, установленных из стандартного репозитория. Код скрипта ниже

Код:

#!/bin/bash
# by Ruben Barkow (rubo77) http://www.entikey.z11.de/

# Originally Posted by Bachstelze http://ubuntuforums.org/showthread.php?p=9080474#post9080474
# OK, here's how to do the Apt magic to get PHP packages from the karmic repositories:

echo "Am I root? "
if [ "$(whoami &2>/dev/null)" != "root" ] && [ "$(id -un &2>/dev/null)" != "root" ] ; then
echo " NO!

Error: You must be root to run this script.
Enter
sudo su
"
exit 1
fi
echo " OK";


# finish all apt-problems:
apt-get -f install

# remove all your existing PHP packages. You can list them with dpkg -l| grep php
PHPLIST=$(for i in $(dpkg -l | grep php|awk '{ print $2 }' ); do echo $i; done)
echo these pachets will be removed: $PHPLIST 
# you need not to purge, if you have upgraded from karmic:
aptitude remove $PHPLIST
# on a fresh install, you need purge:
# aptitude remove --purge $PHPLIST


#Create a file each in /etc/apt/preferences.d like this (call it for example /etc/apt/preferences.d/php5.2);
#
#Package: php5
#Pin: release a=karmic
#Pin-Priority: 991
#
#The big problem is that wildcards don't work, so you will need one such stanza for each PHP package you want to pull from karmic:

echo ''>/etc/apt/preferences.d/php5.2
for i in $PHPLIST ; do echo "Package: $i
Pin: release a=karmic
Pin-Priority: 991
">>/etc/apt/preferences.d/php5.2; done

# duplicate your existing sources.list replacing lucid with karmic and save it in sources.list.d:
#sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list

# better exactly only the needed sources, cause otherwise you can get a cachsize problem:
echo "# needed sources vor php5.2:
deb http://de.archive.ubuntu.com/ubuntu/ karmic main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic main restricted

deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates main restricted
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates main restricted

deb http://de.archive.ubuntu.com/ubuntu/ karmic universe
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic universe
deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates universe
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates universe

deb http://de.archive.ubuntu.com/ubuntu/ karmic multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic multiverse
deb http://de.archive.ubuntu.com/ubuntu/ karmic-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ karmic-updates multiverse

deb http://security.ubuntu.com/ubuntu karmic-security main restricted
deb-src http://security.ubuntu.com/ubuntu karmic-security main restricted
deb http://security.ubuntu.com/ubuntu karmic-security universe
deb-src http://security.ubuntu.com/ubuntu karmic-security universe
deb http://security.ubuntu.com/ubuntu karmic-security multiverse
deb-src http://security.ubuntu.com/ubuntu karmic-security multiverse
" >> /etc/apt/sources.list.d/karmic.list

aptitude update

apache2ctl restart

echo install new from karmic:
aptitude -t karmic install $PHPLIST

# at the end retry the modul libapache2-mod-php5 in case it didn't work the first time:
aptitude -t karmic install libapache2-mod-php5

apache2ctl restart

При вопросах о замене конфигов php.ini и настроек модуля для apache лучше согласиться на установку версий из пакета. Далее по желанию вы можете заблокировать версии пакетов php, иначе при следующем обновлении они будут обновлены на версии из стандартных репозиториев, сделать это можно так

Код:

sudo aptitude hold `dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "`

Ну и наконец теперь можно установить Zend Optimizer. Скачайте нужный вам дистрибутив (32 или 64 бит) по адресу http://www.zend.com/en/products/guard/downloads (необходима регистрация).

Затем на сервере распакуйте архив, перейдите в директорию

ZendOptimizer-3.3.9-linux-glibc21-i386/data/5_2_x_comp/ (32 бит)
ZendOptimizer-3.3.9-linux-glibc21-x86_64/data/5_2_x_comp/ (64 бит)

Создайте необходимую директорию и скопируйте туда файлы Код:

mkdir /usr/local/lib/Zend
mv ZendOptimizer.so /usr/local/lib/Zend/

Затем отредактируйте файл php.ini, он находится в директории /etc/php5/apache2/php.ini (для веб сервера apache2), добавьте туда после строки [PHP] нижеследующие строки

Код:

zend_extension=/usr/local/lib/Zend/ZendOptimizer.so
zend_optimizer.optimization_level=15

После этого перезапустите apache2 и проверьте работу Zend.

Удачной настройки!

Ссылки:

http://mrkandy.wordpress.com

http://community.livejournal.com





Комментариев нет »


Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


« | »



Server load average: 0.06, 0.01, 0.00
Server uptime: 355 days, 11:53
Your IP is: 54.162.76.55.