Янв 19 2009

Установка APC (Alternative PHP Cache ) PHP5, Debian Etch

В этом описании я расскажу как интергрировать APC (Alternative PHP Cache) в PHP5 на Debian Etch. APC отличная альтернатива eAccelerator-у, XCache, служит для того что бы оптимизировать работу ваших PHP скриптов, используя функции кеширования. Его можно легко собрать, используя репозиторий Debian-a, не прибегая к компиляции исходных кодов и шаманства, которое просто ни к чему, если вы заботитесь о чистоте и прозрачности вашей системы.

Интро
Для примера, я буду использовать имя хоста – debian-example-host.com,
который будет расположен в /var/www/debian-example-host.com
Перед тем как установить APC, создадим php info скрипт в /var/www/debian-example-host.com со след содржимым:

После чего мы можем вызвать его в браузере

 http://debian-example-host.com/phpinfo.php

php info
Прокрутив, посмотрев, как мы видим APC не установлен, можете посмотреть,
не установлено ли подобное дополнение к PHP, например eaccelerator, если его нет, тогда все ок,
продолжаем.

Установка APC
Как я уже говорил, APC это дополнение к PHP, мы установим его используя PECL. Который входит в пакет php-pear, поэтому он нам тоже понадобится, устанавливаем:

apt-get install php-pear

Еще кое что нам нужно установить для APC:

apt-get install php5-dev build-essential

Теперь, когда все компоненты установленны, приступим к утсановке APC:

pecl install apc

Когда вы увидите следующий вопрос, ответье на него отрицательно.

...
Use apxs to set compile flags (if using APC with Apache)? [yes] : <-- no
...

Установка APC практически завершена, осталось только отконфигурировать конфиг-файл APC,
его может и не быть, тогда создайте его.

/etc/php5/conf.d/apc.ini

Что бы активировать работу APC содержимое APC – конфиг файла, должно быть следующим:

extension=apc.so
apc.enabled=1
apc.shm_size=30

Перезагружаем Apache

/etc/init.d/apache2 restart

И проверяем появился ли APC в phpinfo

debian-example-host.com/phpinfo.php

Если вы все сделали без ошибок, PHP Info отобразит настройки APC.

Ссылки:
APC: http://pecl.php.net/package/APC
Debian: http://www.debian.org


Апр 6 2008

Установка eAccelerator. Оптимизация PHP

Есть хороший способ оптимизировать работу php скриптов для этого нужно установить дополнение к PHP – eAccelerator. eAccelerator бесплатный open-source продукт, ускоряет выполнение скриптов от 1 до 10 раз. Работает с PHP4 и PHP5. Поддерживаемые платформы : FreeBSD, *nix, Windows.

Требование :

* php4 или php5
* autoconf
* automake
* libtool
* m4

Установка eAccelerator
FreeBSD:

whereis eaccelerator
cd /usr/ports/www/eaccelerator
make install clean

*nix:

Шаг 1. Компиляция :

phpize
./configure
make

или

export PHP_PREFIX="/opt/php"
$PHP_PREFIX/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
make

Шаг 2 . Установка eAccelerator

make install

Шаг 3. Конфигурация eAccelerator
eAccelerator может быть установлен\сконфигурирован в двух вариантах, как Zend-дополнение или как дополнение к PHP.
Если вы хотите установить eAccelerator как zend-дополнение вам нужно указать полный путь к библиотеке eaccelerator.so.
Если у вас каталог /etc/php.d тогда скопируйте туда файл eaccelerator.ini в ином случае вам нужно отредактировать ваш файл php.ini (чаще всего находится сдесь – /etc/php.ini).

Для установки как дополнение к Zend:

zend_extension="/usr/lib/php4/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Для установки как PHP-дополнение.

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

Шаг 4. Создание кеш-каталога

mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator

Шаг 5. Проверьте как работает eAccelerator

php -v
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
    with <strong>eAccelerator</strong> v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

Также можете проверить используя функцию phpinfo().


марта 26 2008

Установка PHP5 и GD (jpeg, png, etc) на FreeBSD

Установку PHP5 + GD проведем используя порты, предварительно удалив старые версии
пакетов. Не забудьте обновить порты.

Хорошо, порты обновили, приступаем к компиляции исходных кодов.

Шаг 1. Подготовка gd и jpeg

В первую очередь подготовим jpeg

cd /usr/ports/graphics/jpeg
make
(make install - делать не нужно).

После сборки jpeg приступим к установке gd

cd /usr/ports/graphics/gd
make deinstall gd  -- удаляем старую версию если такая существует.
make install

Шаг 2. Установка php5

cd /usr/ports/lang/php5
make deinstall -- удаляем старую версию PHP, если такая имеется
make config -- сдесь не забудьте выбрать Build apache module
make install

Что бы PHP заработал добавьте в конец конфигурационного файла Apache такие строки:

Apache 1.3.x
LoadModule php5_module        libexec/apache/libphp5.so
AddModule mod_php5.c
 Apache 2.2.x
LoadModule php5_module        libexec/apache22/libphp5.so

и

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Шаг 3. Устанавливаем дополнения к PHP (iconv, gd, libxml, POD, SQLite, на ваше усмотрение)

cd /usr/ports/lang/php5-extension
make config -- конфигурируем, выбираем какие дополнения нам нужны

Бывает конфигурация не сохраняется, тогда редактируем в ручную файл : Makefile.
Обязательно указываем в Makefile путь к jpeg и проверяем указан ли там путь к gd
после этого продолжаем.

make install clean

Таким способом мы собрали и установили PHP5 + GD с поддержкой jpeg, png.