插件所需的缓存目录

时间:2014-04-10 作者:Paul

我正在开发一个新插件,我需要在某处编写一个frew缓存文件。

起初,我想在插件中创建一个缓存文件夹,如下所示。其中gitignore文件:

# Ignore everything in this directory
*
# Except this file
!.gitignore
但是当我在一个新项目中签出插件时,这个文件夹是不可写的。很明显,我不希望用户转到命令行并使用chmod设置此文件夹的权限(不是每个人都能这样做)。

有人知道我可以保存缓存文件的其他位置吗?

提前感谢!

1 个回复
最合适的回答,由SO网友:codearachnid 整理而成

如果您观察到流行的缓存插件(如WP Super Cache或W3TC)是如何利用wp-content 和其他利用上传或可缓存文件的插件一样,在该结构中创建一个文件夹是合适的。如果用户有您指定的锁定文件夹结构,并且插件文件夹可能是这些保护区域之一,则可能会出现一个附带问题。根据我的经验,我见过网站所有者使用以下标志锁定文件系统:cacheuploadswp-content 文件夹,这将对插件的兼容性提出挑战。因此,为了尽可能做到“WordPressy”,我建议遵循将创建的文件存储在通常与动态创建的静态资产相关的适当区域的一般做法。

在插件文件夹中存储静态文件的更大问题是,当插件更新发生时,缓存的文件将被擦除,因为在更新过程中文件夹被替换。同样,如果插件中没有自定义更新机制(这将阻止它提交到.org repo),那么每次代码与内容/使用情况发生更新时,缓存文件的性能都会受到影响。

针对clarification comments, 在理论/实践中,版本控制系统不应该跟踪上传,除非sql也进行了版本控制,在这种情况下,我不会太担心它。

结束

相关推荐

WP Super Cache - max-age

阅读插件常见问题解答:http://wordpress.org/extend/plugins/wp-super-cache/installation/启用插件后,查找文件“wp-content/cache/.htaccess”。如果不存在,则必须创建它。其内容应为:# BEGIN supercache <IfModule mod_mime.c> <FilesMatch \"\\.html\\.gz$\"> ForceType text/html FileETag None <