刚刚安装了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)
您可以像shaun m说的那样更新PHP,或者如果您不想这样做,您可以从PECL安装zendopcache
检查最新版本,这里安装版本7.0.3。
通过php-pear安装“pecl”
`sudo apt-get install -y php-pear`
安装构build依赖项
sudo apt-get install -y build-essential php5-dev
安装Zend OpCache
sudo pecl install zendopcache-7.0.3
findopcache.so的位置
sudo find / -name 'opcache.so'
我的是
/usr/lib/php5/20100525/opcache.so
现在创buildopcache.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文件创build一个符号链接
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中启用和编译,而不是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
您可以安装APC惠普pecl
pecl install apc
安装php-pear需要php-dev。
或者你可以安装惠普apt-get
apt-get install php5-apc
添加到杰里米·戴维斯的答案…
如果你的/ tmp目录被挂载为“noexec”(防止在那里编写的脚本的执行,这在公共服务器上是常见的),pecl install命令将会失败,如下所示:
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 install,将其重新挂载为noexec,如下所示:
mount -o remount,exec /tmp pecl install zendopcache mount -o remount,noexec /tmp
在与我们的系统pipe理员检查,这是没问题的,我在生产服务器上试了一下,它工作得很好(无论如何,你将不得不重新启动您的PHP profcess(无论是FPM或Apache模块),所以可能不是一个好在一个非常高负载的服务器上的想法,但对于轻度使用的公共服务器,整个过程似乎工作得很好。