如何在不重新启动Apache或更改域的情况下清除php的gettext缓存?
这是php手册中的一个小代码片段:
putenv('LC_ALL=zh_CN');
setlocale(LC_ALL, 'zh_CN');
bindtextdomain('domain', './locale');
textdomain('domain');
echo gettext('Hello');
这将输出你好,如文件中定义,但问题是只要Apache正在运行,总是返回缓存的结果。domain.mo
gettext()
如果我在 中将 Hello 的翻译更改为您好,它仍然会输出你好。domain.mo
但是,可以通过将 和 的参数更改为新名称来解决此问题。喜欢 从 到 .但是每次我更新文件时编辑php文件真的很痛苦。domain
bindtextdomain()
textdomain()
"domain"
"domain2"
.mo
有没有更好的方法来做到这一点,比如删除一些文件夹或调用一些php函数来完成这项工作?这样我就可以为此写一个小脚本。