对于基于Composer的TYPO3安装(在生产中(,何时需要刷新缓存,以及如何进行?
对于非Composer安装+使用";"扩展管理器";,当安装或更新扩展时,缓存的刷新会自动发生。
更新/部署时,命令行上的等效项是什么?
是否建议在某些(所有(情况下进行(硬(缓存刷新?
此外,在维护模式("安装工具"(下从命令行执行刷新缓存操作(包括opcacheflush(的等效方法是什么?
示例部署工作流程(可以使用一些工具,如部署程序(
- 获取git存储库
composer install --no-dev
- 。。。刷新现金、更新数据库模式等的其他命令
看看这个扩展:https://packagist.org/packages/helhum/typo3-console它允许您以编程方式在typed3安装上执行命令,其中包括一个名为cache:flush
的安装
然后,您可以使用类似post-autoload-dump
的composer挂钩来执行此命令。因此,它在您的composer.json:中可能看起来像这样
"scripts": {
"post-autoload-dump": [
"typo3cms install:generatepackagestates",
"typo3cms install:fixfolderstructure",
"typo3cms install:extensionsetupifpossible"
"typo3cms cache:flush"
]
}
我不能告诉你是否推荐它,因为我不在生产服务器上运行composer。
如果您通过composer添加扩展,但仍在TYPO3扩展管理器中或使用typep3_console安装(启用(它们,则缓存仍将自动刷新。对于更新的扩展,或者如果您直接在PackageStates.php中安装扩展(例如通过git(,建议刷新缓存并进行数据库比较(或扩展设置(。
正如crs在他的回答中所说,您可以使用typed3_console扩展来刷新缓存。您甚至可以使用cache:flushcache指定要刷新的缓存。您还可以使用database:updateschema或使用extension:setupmactive(为活动扩展进行数据库更改和默认配置(从命令行进行数据库与该扩展的比较