Php apc install centos

Как установить акселлератор APC на CentOS?

Более или менее крупные проекты содержат объемный PHP код, выполнение которого занимает заметное время. При этом одни и те же алгоритмы выполняются множественно, что с точки зрения использования аппаратных ресурсов выглядит не совсем рационально. Для этих целей были придуманы так называемые акселераторы PHP – это специальное расширение, которое служит для увеличения производительности интерпретатора PHP, при обработке скриптов, за счет кэширования их скомпилированного байт-кода.

Существуют множество расширений, выполняющие роль акселератора PHP, в данной заметке мы попробуем установить одно из популярных расширений — APC, на Linux CentOS с веб-сервером Apache.

APC (Alternative PHP Cache) – бесплатное расширение с открытым исходным кодом, созданное для кэширования и оптимизации работы исходных кодов PHP.
Для установки мы воспользуемся репозиторием Remi:

# yum --enablerepo=remi install php-pecl-apc

После успешной инсталляции, необходимо задать параметры для акселератора, в файле /etc/php.d/apc.ini. Откроем конфигурационный файл в редакторе vi:

Читайте также:  Логическое физическое форматирование html

Выставляем следующие параметры:

# кэширование apc.enabled=1 # значение кол-ва сегментов кэша в памяти apc.shm_segments=1 # размер сегмента apc.shm_size=256M # время жизни кэша apc.ttl=3600 # максимальных объем файлов apc.max_file_size=1M # проверять изменения файла (при обращении к нему) apc.stat=1

Данные параметры приведены для примера. Обратите внимание на то, что APC нужно конфигурировать, опираясь на аппаратные ресурсы своего сервера. Неправильная конфигурация может привести к нестабильной работе APC.
Можно мониторить состояние кэша APC воспользовавшись утилитой apc.php, которая прилагается к дистрибутиву. Его достаточно скачать и закинуть в публичную директорию сервера.

Когда имеет смысл ставить акселератор APC?
Если сервер испытывает значительные нагрузки, одной из причин которых является исполнение php-кода скриптов, то в этом случае есть смысл задуматься об инсталляции акселератора на свой сервер.

VK FB TW Whatsapp Telegram Email

Источник

Install APC (Alternative PHP Cache) in CentOS 5/6/7 and Fedora 20/21

APC (Alternative PHP Cache) is a free and open source tool to cache PHP codes.

phpapc

1. Install Dependency Packages for APC

yum install php-pear php-devel httpd-devel pcre-devel gcc make -y

2. Install APC using PECL (PHP Extension Community Library)

Press “Enter” for the following options

Enable internal debugging in APC [no] : Enable per request file info about files used from the APC cache [no] : Enable spin locks (EXPERIMENTAL) [no] : Enable memory protection (EXPERIMENTAL) [no] : Enable pthread mutexes (default) [yes] : Enable pthread read/write locks (EXPERIMENTAL) [no] :

2a. [Alternative]

If the above command fails, you can use the following method to install APC as well.

3. Enable APC PHP Extension

echo "extension=apc.so" > /etc/php.d/apc.ini

4. Restart Apache Service for APC

sudo service httpd restart

5. Verify APC Installation

Create a file named phpinfo.php in Apache web root directory. For example our Apache web root directory is /var/www

And add the following code to the php file

[Optional] If you do not have nano installed

Open the following url in your web browser

http://yourdomain.com/phpinfo.php

Screen Shot 2015-08-02 at 2.48.22 pm

6. Enable PHP APC administration

Copy the following file to any web directory that you want. For example, in this case we will copy it to the web root directory.

cp /usr/share/pear/apc.php /var/www/html/

Open the file apc.phpÂÂ

In nano editor, use “Ctrl-w” to search for the username and password field to modify.

defaults('ADMIN_USERNAME','apc'); // Admin Username
defaults('ADMIN_PASSWORD','password'); // Admin Password - CHANGE THIS TO ENABLE.

Open the following link in your web browser.

You should see your APC stats and that’s it!

Источник

APC в PHP: Понятие, установка, использование APC

APC – это аббревиатура от Alternative PHP Caching. Русским текстом – это альтернативный PHP кэшер. Для чего он используется? Как и другие популярные кэшеры, такие как XCache и eAccelerator, он используется для увеличения скорости работы PHP скриптов. Если вы имеете собственный сервер, и вас волнуют вопросы быстродействия PHP скриптов, то APC может стать решением вашей проблемы. В сегодняшней статье мы более подробно узнаем о APC, научимся его устанавливать и тестировать, использовать APC кеширование при написании PHP скриптов.

Сегодня мы узнаем

Что такое акселератор APC?

Акселератор APC (Alternative PHP Cache) — бесплатный и открытый opcode кэшер для PHP. Он был задуман, как бесплатный, открытый и стабильный фреймворк для кэширования и оптимизации исходного кода PHP. APC находится на стадии своего развития. На данный момент поддерживает PHP 4 и PHP 5, включая 5.3. Предположительно будет включен в стандартное ядро PHP шестой версии.

Каким образом достигается ускорение работы PHP?

Когда идет задержка загрузки вашего сайта, возникает вопрос – Почему? Дело в том, что при выполнении стандартного обращения к PHP скрипту, каждый раз он компилируется заново. То есть, одна и та же работа делается несколько раз. Если это маленький проект, замедления в работе могут быть незначительными, даже невидимыми. Но если у вас большой проект (сайт), то вы замечали, что при обращении идет задержка загрузки страницы, несмотря на то, что сайт хорошо оптимизирован, в плане сжатия html и сжатия css. Для наглядности, посмотрим, как выполняется стандартный запрос без использования PHP акселераторов:

Выполнение запроса без APC

При этом идут выполнения компиляции кода при каждом запросе. Это отнимает много время на обработку запроса, потому и тормозит. Для обхода этого и придумали акселераторы, представителем которого является APC. Они кэшируют скомпилированный код на диске, после обращения к которому, он выводит результат. Таким образом увеличивается скорость работы PHP. APC может работать в двух режимах, которые настраиваются в файле /etc/php.d/apc.ini, переменная apc.stat. Переменная может принимать значения 1 и 0 (apc.stat=0 или apc.stat=1). При использование режима apc.stat=1 несколько замедляется работа скриптов так, как идет проверка на модификацию файла, но это позволяет избежать проблем, когда код изменен, а выдача результата остается прежней. Поэтому советую поставить значение переменной 1.

После установки акселератора APC, схема выполнения запроса будет следующей:

Применение APC для PHP

Установка APC

APC очень простой в установке. Его можно устанавливать как на Debian/Ubuntu, так и на другие дистрибутивы.

Установка APC на CentOS, RHEL, Fedora:

Будем устанавливать через PECL. Сначала подключаем .repo, который содержит актуальный APC. Смотрите пример ниже:

wget http://rpm.scwlab.com/el/php/yum.conf -O /etc/yum.repos.d/stalwart.repo

yum install php-pecl-apc

Теперь, измените настройки файла /etc/php.d/apc.ini на свой вкус и сделайте рестарт сервера.

Установка APC на Debian, Ubuntu

apt-get install apache2-threaded-dev php5-dev php5-pear make gcc g++

pecl install apc

После загрузки, откройте файл по адресу /etc/php5/apache2/php.ini, добавьте параметр extension=apc.so, и перезапустите сервер.

Как видите, установить APC на Debian или Ubuntu, достаточно просто, нужно набрать в консоли команду sudo aptitude install php-apc. Также можно установить это расширение через synaptic. Если у вас другой дистрибутив, то вы можете установить пакет APC из PECL. Для этого выполните в консоле следующую команду sudo pecl install apc.

Проверка наличия пакета APC

Если в файле настроек php.ini, присутствует строка загрузки пакета extension=apc.so. Или создан файл apc.ini с идентичной строкой, в папке конфигурации расширений PHP. У каждого дистрибутива, он находится по своему адресу. Для Debian, это /etc/php5/apache2/conf.d/.

Если вы проверили и убедились, что все хорошо, перезапустите сервер. Теперь проверим информацию о самом пакете APC. Для этого найдите папку в которой было установлено расширение. В папке вы найдете файл по имени apc.php. Этот файл, также присутствует в архиве установки. Скопируйте его в любую директорию из сайтов вашего сервера. Например, что-бы он был доступен по адресу http://sitear.ru/apc.php. Если пакет был установлен успешно, то при загрузке этого файла, вы увидите следующую таблицу информации о текущем APC пакете.

Информация о пакете APC

Использование APC в PHP

Использовать расширение APC при написании PHP кода, очень просто и удобно. Сейчас вы сами убедитесь в этом.

Для начала, мы напишем класс, для работы с памятью через APC систему кэширования. Создайте файл и поместите туда код по следующему адресу:

classes/apc.caching.php

bEnabled = extension_loaded('apc'); > // получаем данные с памяти function getData($sKey) < $bRes = false; $vData = apc_fetch($sKey, $bRes); return ($bRes) ? $vData :null; >// сохраняем данные в память function setData($sKey, $vData) < return apc_store($sKey, $vData, $this->iTtl); > // удаляем данные с памяти function delData($sKey) < $bRes = false; apc_fetch($sKey, $bRes); return ($bRes) ? apc_delete($sKey) : true; >> ?>

В классе описано, что делает каждая из функций. Теперь создадим тестовый файл.

 'table', 'color' => 'brown', 'size' => array( 'x' => 200, 'y' => 120, 'z' => 150, ), 'strength' => 10, ); require_once('classes/apc.caching.php'); $oCache = new CacheAPC(); echo 'Данные: 
'; // Посмотрим что мы имеем print_r($aData); echo '

'; if ($oCache->bEnabled) < // Если APC доступен $oCache->setData('my_object', $aData); // Сохраняем данные в памяти $oCache->setData('our_class_object', $oCache); // Сохраняем объект класса в памяти echo 'По теории, мы сохранили данные в памяти, нажмите здесь для проверки, действительно ли все там.'; > else < echo 'Пакет APC не установлен, установите, а потом будете тестировать!'; >?>

В этом файле мы сохранили 2 объекта в память: массив и объект класса. Теперь создадим второй файл.

В данном скрипте, мы только читаем информацию из памяти. Как вы видите, вся информация отлично считывается с памяти. Давайте посмотрим последний пример.

bEnabled) < // Если APC доступен $oCache->delData('my_object'); // Извлечение данных из памяти $oCache->delData('our_class_object'); // Извлечение данных из памяти $aMemData = $oCache->getData('my_object'); // пытаемся получить данные обратно $aMemData2 = $oCache->getData('our_class_object'); echo 'Данные из памяти: 
'; // Проверим, что у нас хранится в памяти print_r($aMemData); echo '

'; echo 'Данные из памяти объекта CacheAPC class:

'; print_r($aMemData2); echo '

'; echo 'Как видите все данные извлечены из памяти. Ура!'; > else < echo 'Пакет APC не установлен, установите, а потом будете тестировать!'; >?>

Заключение

Спасибо за ваше внимание! Надеюсь вам было интересно почитать об использовании APC в PHP. Если вы имеете другие представления об использовании APC при написании PHP скриптов, напишите об этом в комментариях.

Источник

How To Tutorials

How to install APC in centos for PHP better performance ( opcode)

APC for PHP better performance:

APC is a op-code caching for PHP. Once PHP code is run, APC caches the complied PHP code so for next time, time for compiling PHP will be reduce and gives faster performance. APC caches files in memory so performance of PHP code improves significantly.

Installing APC:

Make sure PHP is installed first 🙂 . we need to install few pre-requist for PHP.

$ yum install php-pear php-devel httpd-devel pcre-devel gcc make $ pecl install apc

Configuring APC:

Open APC config file and make sure you have atlest following configuration:

Enable APC for php.

extension=apc.so apc.enabled=1

The number of seconds a cache entry is allowed to idle in a slot before APC dumps the cache.

apc.ttl=72000 apc.user_ttl=72000 apc.gc_ttl=3600

Size of memory for apc ( 1024 M)

Enable apc stats.

Enable APC for command line php operations.

Allow 2 seconds after a file is created before it is cached. This will prevent premature PHP pages to get cached.

apc.file_update_protection=2

Maximum size of single file that apc can store.

Maximum number of files APC can store ( rotation).

Maximum number of users data entries that APC can store.

apc.user_entries_hint=20000

You can put your configuration in php.ini file but i prefer to have separate file like above for configuration. Values mentioned above are for demonstration purpose, different values for APC can be set which depends on number of PHP pages, size of memory in server, number of page hits e.t.c

Restart httpd server:

APC installation comes with apc.php file, which can be use to monitor APC performance. This file can be found inside APC package OR can be download from http://pecl.php.net/package/APC ( unzip and look for apc.php file).

Once apc.php is downloaded copy it to your domain so that you can assess it.

Now from browser, you can go to http://domain.com/apc.php. I prefer to wait for a day to see the APC performance so we can have clear idea how well our configuration did.

Sample output of APC:

apc1

Here, we clearly see that APC is not performing very well as we have 44% misses. To optimize this we can reduce the memory and also we can increase max_file_size and also TTL time so that more can be cached in APC. Normally when missed rate is more than 10% , its better to reconfigure the settings of APC.

Well tuned APC will look like below:

Источник

Оцените статью