在Linux上配置PHP的OPcache可以显著提高PHP脚本的执行速度。OPcache是PHP的一个内置扩展,它通过将PHP脚本编译成字节码并缓存起来,减少了每次请求时都需要重新编译的开销。以下是配置OPcache的步骤:
1. 确认PHP版本
首先,确保你的PHP版本支持OPcache。OPcache从PHP 5.5开始引入,并在后续版本中不断改进。你可以通过以下命令检查PHP版本:
php -v
2. 安装或启用OPcache
大多数现代Linux发行版默认已经安装了OPcache。如果没有安装,可以使用包管理器进行安装。例如,在Ubuntu上:
sudo apt-get update sudo apt-get install php-opcache
在CentOS上:
sudo yum install php-opcache
3. 配置OPcache
OPcache的配置可以通过php.ini
文件进行。你需要编辑php.ini
文件来启用和配置OPcache。通常,php.ini
文件位于/etc/php/7.x/cli/php.ini
(命令行模式)或/etc/php/7.x/apache2/php.ini
(Apache模式)。
启用OPcache
在php.ini
文件中找到以下行并取消注释(删除前面的分号;
):
zend_extension=opcache.so
配置OPcache参数
以下是一些常用的OPcache配置参数:
-
opcache.enable
: 启用或禁用OPcache。设置为1启用,0禁用。opcache.enable=1
-
opcache.memory_consumption
: 分配给OPcache的内存大小(以MB为单位)。默认值通常是64MB。opcache.memory_consumption=128
-
opcache.interned_strings_buffer
: 用于存储interned字符串的内存大小(以MB为单位)。默认值通常是8MB。opcache.interned_strings_buffer=8
-
opcache.max_accelerated_files
: 可以被OPcache缓存的最大文件数。默认值通常是10000。opcache.max_accelerated_files=10000
-
opcache.revalidate_freq
: 检查脚本文件修改的时间间隔(以秒为单位)。默认值通常是2秒。opcache.revalidate_freq=2
-
opcache.fast_shutdown
: 启用快速关闭。设置为1启用,0禁用。opcache.fast_shutdown=1
示例配置
以下是一个示例配置:
[opcache] zend_extension=opcache.so opcache.enable=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=10000 opcache.revalidate_freq=2 opcache.fast_shutdown=1
4. 重启Web服务器
修改完php.ini
文件后,需要重启Web服务器以使配置生效。
Apache
sudo systemctl restart apache2
Nginx + PHP-FPM
sudo systemctl restart php7.x-fpm sudo systemctl restart nginx
(请将7.x
替换为你的PHP版本)
5. 验证OPcache是否启用
你可以通过创建一个PHP文件来验证OPcache是否启用。例如,创建一个名为info.php
的文件,内容如下:
然后在浏览器中访问http://your_server_ip/info.php
,搜索“OPcache”部分,如果看到相关信息,说明OPcache已经成功启用。
通过以上步骤,你应该能够在Linux上成功配置PHP的OPcache,从而提高PHP应用的性能。