如何在 Debian 中启用 OPcache?

use*_*078 5 debian php-fpm

刚刚安装了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)
Run Code Online (Sandbox Code Playgroud)

小智 13

你可以像 shaun m 说的那样更新 PHP,或者如果你不想这样做,你可以从 PECL 安装 zendopcache

在此处检查最新版本,这将安装 7.0.3 版。

通过 php-pear 安装“pecl”

`sudo apt-get install -y php-pear`
Run Code Online (Sandbox Code Playgroud)

安装构建依赖

sudo apt-get install -y build-essential php5-dev
Run Code Online (Sandbox Code Playgroud)

安装 Zend OpCache

sudo pecl install zendopcache-7.0.3
Run Code Online (Sandbox Code Playgroud)

找到opcache.so的位置

sudo find / -name 'opcache.so'
Run Code Online (Sandbox Code Playgroud)

我的是

/usr/lib/php5/20100525/opcache.so
Run Code Online (Sandbox Code Playgroud)

现在创建 opcache.ini

sudo vim /etc/php5/mods-available/opcache.ini
Run Code Online (Sandbox Code Playgroud)

添加此信息

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
Run Code Online (Sandbox Code Playgroud)

现在为 conf 文件创建一个符号链接

sudo ln -s /etc/php5/mods-available/opcache.ini /etc/php5/conf.d/20-opcache.ini
Run Code Online (Sandbox Code Playgroud)

重启服务

sudo service php5-fpm restart
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

确认安装

php -v
Run Code Online (Sandbox Code Playgroud)

它应该提到

Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
Run Code Online (Sandbox Code Playgroud)

然后(可选)通过清理完成

sudo apt-get remove --purge build-essential php5-dev
Run Code Online (Sandbox Code Playgroud)

参考


sha*_*n m 2

OPCache 仅在新的 PHP 5.5 中默认启用并编译,而不是 Wheezy 附带的 5.4。如果您想在 Debian 中使用 OPCache 和 PHP 5.5,则必须添加 dotdeb 存储库(见下文)并从那里安装。

deb http://packages.dotdeb.org wheezy-php55 all 
deb-src http://packages.dotdeb.org wheezy-php55 all
Run Code Online (Sandbox Code Playgroud)