You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Tinker调用opcache_status返回false、OpCache生效检测异常

OpCache CLI下返回false问题排查方案

你提供的配置中,web场景OpCache开关已开启,但CLI场景开关为关闭状态:

  • opcache.enable => On => On
  • opcache.enable_cli => Off => Off

核心原因

你测试使用的php artisan tinker、php -a都属于PHP CLI运行模式,CLI模式的OpCache开关和web场景相互独立,默认关闭状态下调用opcache_status()自然返回false,不属于配置异常,也不影响web服务的OpCache正常运行。

基础说明

  • 官方默认关闭CLI模式OpCache的逻辑:CLI进程单次执行结束就会销毁,缓存的字节码无法被后续请求复用,开启反而会增加不必要的性能开销
  • opcache.enable配置仅作用于PHP-FPM、Apache mod_php等web运行场景,不会影响CLI模式的OpCache状态

验证web场景OpCache是否正常

新建可web访问的测试文件,写入如下代码:

<?php
// 打印opcache状态,返回数组即代表正常运行
var_dump(opcache_status());
// 也可以查看phpinfo详情确认状态
phpinfo();

通过web地址访问该文件,若返回的opcache_status()结果为数组,或phpinfo页面中Opcode Caching字段显示Up and Running,说明OpCache配置完全正常。

特殊场景开启CLI OpCache的方法

如果有常驻CLI进程、长时间运行CLI脚本等场景需要开启CLI模式的OpCache,修改php.ini配置文件:

opcache.enable_cli = On

修改后重启对应CLI进程即可生效,之后再在CLI下执行opcache_status()就会返回正常的状态数据。


内容的提问来源于stack exchange,提问作者Alberto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:24:04