Laravel命令文件修改后执行输出无更新该如何处理
Laravel 命令文件修改后不生效的解决步骤
- 清除Laravel配置缓存
Laravel会缓存包括命令注册信息在内的所有配置,优先执行配置清理命令:php artisan config:clear
如果是生产环境需要重新生成优化缓存,清理后再执行:php artisan config:cache - 清理编译类缓存
Laravel会将高频使用的类编译为缓存文件降低加载开销,修改命令类后需要清理已编译的缓存内容:php artisan clear-compiled - 清理OPcache缓存
如果服务器PHP环境开启了OPcache扩展,会自动缓存PHP脚本的编译结果,不会实时读取文件更新,你需要重启PHP-FPM或者Web服务器生效,对应命令示例(需替换为你服务器实际的PHP版本):
systemctl restart php8.1-fpm systemctl restart nginx
- 校验命令注册信息
检查app/Console/Kernel.php文件中你修改的命令是否正确注册,类名、命名空间和修改的文件完全一致无拼写错误,你也可以执行php artisan list查看目标命令是否存在于命令列表中,确认注册成功。 - 确认命令签名匹配
核对你运行的命令和命令类中$signature属性定义的签名完全一致,避免运行了其他同名命令。 - 重启常驻内存服务
如果你使用Laravel Octane、Swoole等常驻内存的运行环境,修改代码后必须重启对应的服务才会加载新的代码文件。
内容的提问来源于stack exchange,提问作者user15475283
相关产品推荐
相关产品推荐

