可通过配置composer.json中的post-update-cmd脚本在更新后自动清理旧缓存,如执行rm -rf cache/*并提示完成;2. 支持结合环境变量判断仅在生产环境清理;3. 也可调用PHP脚本实现更复杂的清理逻辑;4. 还可手动或在部署时运行composer clear-cache清理Composer自身缓存。

Composer 更新后自动清理旧缓存文件,可以通过配置 Composer 的钩子(scripts)来实现。Composer 提供了丰富的脚本事件,可以在特定操作完成后执行自定义命令,比如 post-update-cmd 事件非常适合用来清理缓存。
在项目的 composer.json 文件中添加 scripts 配置,指定更新完成后要执行的清理命令:
{
    "scripts": {
        "post-update-cmd": [
            "rm -rf cache/*",
            "echo '旧缓存已清理'"
        ]
    }
}
上面的例子会在每次运行 composer update 后自动删除 cache/ 目录下的所有文件。你可以根据项目实际路径调整目录名,比如 storage/cache/ 或 var/cache/ 等。
如果你只想在生产环境清理缓存,可以写一个简单的检查脚本:
{
    "scripts": {
        "post-update-cmd": [
            "if [ \"$APP_ENV\" = \"production\" ]; then rm -rf cache/*; fi"
        ]
    }
}
如果需要更精细的控制,比如只清理过期文件或记录日志,可以调用自定义 PHP 脚本:
{
    "scripts": {
        "post-update-cmd": [
            "php bin/clear-cache.php"
        ]
    }
}
创建 bin/clear-cache.php 文件,编写你的清理逻辑,例如遍历目录、按时间删除、跳过某些文件等。
如果你还希望释放磁盘空间,可以定期清理 Composer 全局缓存:
composer clear-cache
这个命令不会自动执行,但可以手动运行或加入部署流程中。
基本上就这些。通过合理使用 Composer 的 scripts 功能,就能在更新后自动完成缓存清理,减少人为遗漏,提升部署稳定性。
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号