Только что установил php5-fpm. Все источники говорят, что apc модуль заменен на OPcache и он компилируется по умолчанию, но не включен.
Как я могу включить этот модуль. Я не могу найти файл opcache.so на своем сервере
я проверил /usr/lib/php5
и /etc/php5
но не могу найти.
php -v
PHP 5.4.4-14+deb7u4 (cli) (built: Aug 23 2013 14:37:41)
Вы можете обновить PHP, как говорит Шаун М., или, если вы не хотите этого делать, вы можете установить zendopcache из PECL
Проверить последнюю версию Вот, это устанавливает версию 7.0.3.
Установите "pecl" через php-pear
`sudo apt-get install -y php-pear`
Установить зависимости сборки
sudo apt-get install -y build-essential php5-dev
Установите Zend OpCache
sudo pecl install zendopcache-7.0.3
Найдите расположение opcache.so
sudo find / -name 'opcache.so'
Мой
/usr/lib/php5/20100525/opcache.so
Теперь создайте opcache.ini
sudo vim /etc/php5/mods-available/opcache.ini
Добавьте эту информацию
zend_extension=/usr/lib/php5/20100525/opcache.so # File path from above
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
Теперь создайте символическую ссылку для файла conf
sudo ln -s /etc/php5/mods-available/opcache.ini /etc/php5/conf.d/20-opcache.ini
Перезапустить сервисы
sudo service php5-fpm restart
sudo service apache2 restart
Подтвердите установку
php -v
Следует упомянуть о
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
Затем (необязательно) закончите очисткой
sudo apt-get remove --purge build-essential php5-dev
OPCache включен и компилируется по умолчанию только в новом PHP 5.5, а не в версии 5.4, поставляемой с Wheezy. Если вы хотите использовать OPCache и PHP 5.5 в Debian, вам нужно добавить репозитории dotdeb (см. Ниже) и выполнить установку оттуда.
deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all
Чтобы добавить к ответу Джереми Дэвиса ...
В случае, если ваш каталог / tmp смонтирован как «noexec» (предотвращая выполнение написанных в нем сценариев, что является обычным для общедоступных серверов), команда установки pecl завершится ошибкой следующим образом:
shtool at '/tmp/pear/temp/zendopcache/build/shtool' does not exist or is not executable.
Make sure that the file exists and is executable and then rerun this script.
Чтобы избежать этого, вы можете перемонтировать раздел / tmp как exec, затем установить pecl, а затем перемонтировать как noexec, например:
mount -o remount,exec /tmp
pecl install zendopcache
mount -o remount,noexec /tmp
После проверки с нашим системным администратором, что все в порядке, я попробовал его на производственном сервере, и он работал отлично (вам все равно придется перезапустить свой PHP-процесс (будь то FPM или модуль Apache) после этого, так что, вероятно, не лучший идея на сервере с очень высокой нагрузкой, но для слабо используемых публичных серверов весь процесс, кажется, работает нормально.
Вы можете установить APC whit pecl
pecl install apc
Для его установки необходимы php-pear и php-dev.
Или вы можете установить whit apt-get
apt-get install php5-apc