php7的缓存怎么清理
时间 : 2023-04-26 00:40:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在PHP7中,缓存是由OpCache(即Opcode Cache)管理的。OpCache是一个内置于PHP中的字节码缓存器,它会将PHP脚本的解释结果(即字节码)存储起来,以便于下次执行时可以从缓存中获取以加快执行速度。但是,在开发过程中,有时候需要清空OpCache缓存,以避免应用程序出现问题。

OpCache缓存清晰的方法如下:

1.使用PHP脚本清空缓存

<?php

opcache_reset();

?>

这段PHP脚本会使用opcache_reset()函数清空OpCache缓存。

2.使用命令行清空缓存

在命令行中执行下面的命令可以清空OpCache缓存:

```

php -r "opcache_reset();"

这个命令与上面的PHP脚本具有相同的效果。需要注意的是,需要在PHP命令行下执行。

3.修改opcache配置文件清空缓存

如果您想在每次代码更新后自动清空OpCache缓存,可以通过修改PHP.ini文件或者opcache配置文件来实现。具体操作步骤如下:

1) 打开php.ini文件

vim /etc/php/7.0/fpm/php.ini

2) 找到[opcache]部分,并进行以下修改

;opcache.enable=1

opcache.enable_cli=1

opcache.memory_consumption=128

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=4000

opcache.revalidate_freq=60

opcache.fast_shutdown=1

;opcache.enable_file_override=0

opcache.consistency_checks=0

opcache.validate_timestamps=0

opcache.force_restart_timeout=180

在这里,您需要将opcache.validate_timestamps改成0,表示不接受脚本修改时间的验证;并将opcache.force_restart_timeout设置为一个较小的值,如60秒,以保证OpCache缓存的快速清空。

3) 重启fpm服务以使更改生效

systemctl restart php7.0-fpm

通过以上步骤,就可以在每次代码更新后自动清空OpCache缓存,避免应用程序出现问题。

总结

清空OpCache缓存可以有效地避免应用程序出现问题,但是需要谨慎操作,以免影响程序的正常运行。在实际开发过程中,可以根据实际情况选择合适的清空方式,以提高应用程序的性能和稳定性。

在PHP7里,缓存通常指的是OPcache,它可以提高PHP代码的性能和响应速度。如果需要清理缓存,可以按照以下步骤进行操作:

1. 在CLI模式下运行php -v,检查当前使用的PHP版本。如果你不是在CLI模式下运行PHP脚本,可以通过代码创建一个PHP文件来查看所使用版本。

2. 在命令行中运行php --ini命令,即可找到php.ini文件所在位置。

3. 打开php.ini文件,查找opcache.enable选项确认是否为1(如果是0,则意味着缓存没有启用)。 如果opcache.enable选项设置为0,则可以设置为1,启用OPcache扩展。

4. 如果需要清空缓存,可以继续保持php.ini文件打开状态,在文件中搜索opcache_reset函数,并将其解开注释(删除前面的分号)。

5. 按照保存文件的方法保存PHP.ini文件,然后重启Web服务器以使更改生效。

6. 在CLI模式下使用php -i命令,或者在你的PHP程序中使用phpinfo()函数,检查OPcache是否已加载。

7. 如果OPcache已加载,并且您已经启用opcache_reset函数,则可以使用该函数来清除缓存。可以通过执行以下PHP代码来清空OPcache:

```php

<?php

opcache_reset();

?>

请注意,通过清除OPcache缓存,您将清除所有已缓存的PHP文件,并可能导致响应时间增加,因为PHP将不得不重新编译这些文件。

在使用缓存的同时,建议开发者设置一个比较合理的缓存时间和缓存大小,这样可以最大限度地发挥缓存的优势,同时保证代码的及时更新。