刚刚安装了 php5-fpm。所有消息来源都说装甲运兵车模块已被替换为OP缓存并且它是默认编译的但未启用。
我该如何启用此模块?我在服务器上找不到 opcache.so 文件
我已检查过/usr/lib/php5
但/etc/php5
找不到。
php -v
PHP 5.4.4-14+deb7u4 (cli) (built: Aug 23 2013 14:37:41)
答案1
您可以像 shaun m 所说的那样更新 PHP,或者如果您不想这样做,您可以从 PECL 安装 zendopcache
检查最新版本这里,这将安装版本 7.0.3。
通过 php-pear 安装“pecl”
`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
答案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
答案3
补充 Jeremy Davis 的回答......
如果您的 /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
在与我们的系统管理员确认这没问题之后,我尝试在生产服务器上进行操作,并且它运行良好(无论如何,之后您必须重新启动 PHP 进程(无论是 FPM 还是 Apache 模块),因此在负载非常高的服务器上这可能不是一个好主意,但对于轻度使用的公共服务器,整个过程似乎运行良好。
答案4
您可以安装 APC whit pecl
pecl install apc
安装它需要 php-pear 和 php-dev。
或者你可以使用 apt-get 安装
apt-get install php5-apc