Php apc для windows

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

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

Установка APC

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

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

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

Читайте также:  Flatout ultimate carnage не запускается steam windows 10

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 в PHP

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

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

classes/apc.caching.php

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

index.php

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

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

index2.php

‘; echo ‘Данные из памяти объекта CacheAPC class: ‘; echo ‘Как видите все данные доступны, теперь давайте извлечем их из памяти, для этого идем сюда…’; > else < echo 'Пакет APC не установлен, установите, а потом будете тестировать!'; >?>

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

index3.php

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

Заключение

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

Install APC on Windows

How can I install APC on Windows? I am using PHP 5.3, Windows 7 x64.

Читайте также:  Автоматическое включение mac os

6 Answers 6

Installing an extension with the pecl command means :

  • downloading the sources
  • compiling them

And, generally speaking, a windows machine doesn’t have what’s required to compile software like PHP and/or PHP extensions.

A better / easier solution, in your case, would probably be to find a pre-compiled .dll of the extension, that matches your system and your version of PHP.

With a bit of luck, maybe one of the versions provided on http://downloads.php.net/pierre/ could be OK ?
(It’s what kind of acts as replacement of the old pecl4win, until the extensions for windows are available on windows.php.net)

For more informations about which version you should use, take a look at the Which version do I choose? section, in the left side-bar of http://windows.php.net/

It is not really important, whether you are running Windows 32-bit or 64-bit version. What matters is what Apache (webserver) version you have installed (32/64). Since lots of PHP extensions (like APC) are not available for 64-bit systems, most common setup is as follows:

Operating system 32 or 64-bit (not really important). Apache 32-bit will run easily on Windows 64-bit. The difference is, that for 32-bit apache you MUST install PHP 32-bit. Once you install 64-bit PHP, you may find difficult to install some extensions — there are almost no extensions available for 64-bit PHP platform.

therefore your webserver should be 32-bit if you care about special extensions, like APC, Imagick etc. Also you need to know if your apache is thread safe (TS) or not thread safe (NTS) and whether it has been compiled in Visual Studio 6 (VC6) or newser Visual Studio 2008 (VC9). You will easily find all this info from phpinfo() function.

Yii Framework

Установка PHP APC на Windows и не только

Установка PHP APC на Windows и не только

Сообщение Yurec » 2013.12.18, 11:22

Не могу установить php apc на Windows x32. Вылазиет такая http://SSMaker.ru/fac22a48/ ошибка, при запуске апача.
В php.ini прописал —
extension=php_apc.dll
apc.shm_size=128M
Файл php_apc.dll куда надо скинул.
На хостинге прописав в main.php —

Re: Установка PHP APC на Windows и не только

Сообщение stop4uk » 2013.12.18, 13:36

Re: Установка PHP APC на Windows и не только

Сообщение Yurec » 2013.12.18, 19:29

Нашел нужную, но не здесь, тут вроде все для юникса, другие ошибки повылазили, то нет php5.dll — скачал, закинул в windiws/system32, потом вроде kernel32.dll, чего-то в ней нет, скачал в интернете другой такой файл, закинул в windiws/system32, после перезагрузки компьютера опять стал прежним, судя по размерам и та же ошибка, да это в принципе не важно локально, вот на хостинге, это плохо.

Сейчас кстати переделываю личный кабинет, все в одну таблицу, скорость действительно улучшается, ну еще и память меньше затрачивается.Проверяю вот так — http://www.yiiframework.ru/doc/cookbook . evelopment

Re: Установка PHP APC на Windows и не только

Сообщение anton44eg » 2013.12.18, 19:40

Ускорение Apache/PHP с помощью APC

Andrey

пишу код за еду

Кэширование — накопление данных в доступном хранилище, с целью их быстрого извлечения по мере надобности. Кэширование ускоряет процесса обработки информации.
APC (Альтернативный PHP кэш) это оптимизированный PHP кэш. Он хранит PHP страницы в оперативной памяти (RAM) и сокращает активность использования жесткого диска. Это делает реальную разницу в производительности HLX:CE, и вы можете достичь 50% увеличения пропускной способности системы и ваш процессор будет занят на 50% меньше.

Читайте также:  Как установить принтер hp laserjet 1000 series для windows 10

Это руководство предназначено для установки APC на Windows и Linux серверах. Инструкция была протестирована на Windows XP x64 (XAMPP) и Ubuntu 8.04 LTS x64 сервер, также должны быть подходящими любые другие современные версии Windows и Linux в качестве сервера.

Сначала перед установкой APC, давайте узнаем информацию об установленном у нас PHP5. Для этого мы создадим файл info.php в корневой директории веб-папки сервера C:\xampp\htdocs в windows или /var/www в linux, или там где находиться ваша веб-папка, файл должен содержать следующие строки:

Далее перейдите по адресу (заменив mystats.com на ваш) http://mystats.com/info.php и вы должны увидеть что PHP 5.2.4 установлен.

вы должны посмотреть что APC нигде не упоминается на этой странице.

Установка APC Windows
Сохраните в папке расширений PHP, которая C:\XAMPP\PHP\Ext по умолчанию. Примечание: Убедитесь, что вы выбрали правильное расширение для вашей версии PHP.

Включить расширение APC в C:\XAMPP\PHP\php.ini файл, отредактировав файл php.ini и добавив следующие строки в раздел расширений:

перезагрузите веб-сервер и снова откройте info.php в браузере http://mystats.com/info.php

Скачайте корректную бинарную версию под windows для версии PHP которая у вас установлена с http://downloads.php.net/pierre/ . Сохраните файл в папку раширений PHP extensions, которая в XAMPP по умолчанию c:\xampp\php\ext. Примечание: убедитесь, что вы выбрали правильное расширение для вашей версии PHP.

Включите APC расширение в файле c:\xampp\php\php.ini , редактируйте php.ini файл, а именно добавьте следующую строку в секции extensions:

Перезапустите ваш веб-сервер, и снова откройте info.php в браузере http://mystats.com/info.php

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

Установка APC Linux

APC может быть установлен в Linux с помощью PECL. PECL поставляется вместе с php-pear пакетом, сейчас мы установим его:

Кроме того мы должны установить некоторые APC зависимости, чтобы PECL мог собрать APC:

Теперь когда установлены все зависимости мы можем приступить к установке APC следующим образом:

когда вы увидите:

подтвердите нажатием Enter.

Теперь когда APC установлен, мы создаём файл конфигурации /etc/php5/conf.d/apc.ini. Мы должны по крайней мере добавить строку extension=apc.so там; все остальные параметры конфигурации являются не обязательными. Вы можете найти список всех доступных параметров конфигурации по ссылке http://de2.php.net/manual/en/book.apc.php .

через CTRL+X или CTRL-O сохраните и выйдите из редактора nano.

Вот и всё. Перезапустите Apache и всё готово:

Теперь откройте файл info.php еще раз в вашем браузере http://mystats.com/info.php

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

Оптимизация APC настроек

Чтобы проверить объем памяти, доступной для использования APC, запустите Editor и создайте текстовый файл с именем apcmeminfo.php. Скопируйте и вставьте следующие строки в этот файл:

в этом случаем мы видим объём доступной оперативной памяти, что составляет примерно 32Mb. (33.554.344 b / 1.000.000 = 33,55 MB)

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