gpt4 book ai didi

php - 如何刷新使用 phar.cache_list 指令缓存的 phar?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:50:26 24 4
gpt4 key购买 nike

我将我的 phar 添加到 cache_list php.ini 中的指令和缓存效果很好。几天后我更新了 phar 现在我收到以下错误:

Warning: Phar::webPhar(phar:///usr/share/app/app.phar/www.php): failed to open
stream: phar error: internal corruption of phar "/usr/share/app/app.phar"
(crc32 mismatch on file "www.php") in /usr/share/app/app.phar on line 8

如果我注释掉 cache_list 指令,phar 可以正常工作并加载,但现在我无法再缓存它。这让我觉得 PHP 正在查看旧文件的 crc32

我已经尝试重新启动 apache 我不知道还有什么方法可以“刷新”缓存,或者这是否是问题。

最佳答案

我建议删除或重命名您的旧 app.phar 文件。系统应该在您的下一次加载时重新生成一个新的。如果出现相同的错误,则说明您遇到了以下两个问题之一:

  • 您缓存的 phar 的路径之一是错误的,导致整个列表失败。
  • 您缓存的其中一个 phar 没有元数据,导致缓存失败。

第二个测试的一个很好的测试是添加一段垃圾元数据(也就是说,如果您还没有使用元数据)。 phar::setMetadata()

像往常一样,检查所有路径。

如果不能很好地了解您正在运行的代码或更改的内容,我真的无法提出任何进一步的建议。

关于php - 如何刷新使用 phar.cache_list 指令缓存的 phar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15282534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com