首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >html编码器保存smarty模板时网站崩溃(PHP致命错误)

html编码器保存smarty模板时网站崩溃(PHP致命错误)
EN

Stack Overflow用户
提问于 2010-07-21 18:23:20
回答 1查看 310关注 0票数 1

我们正在运行相当大的网站(每天大约40万页面浏览量),并使用Smarty作为模板引擎。HTML编码器每天都会更改模板,每次模板更改(几乎每一次)都会因为PHP Fatal error: Call to undefined function _smarty_tplfunc_f0cb5c08ca1726d224308f2f6bd56b4f_0() in ...而导致网站崩溃。PS:是的,我们正在使用$smarty->compile_check来立即查看模板更改。

为了修复这个错误,我们正在清理所有的网站缓存。我对此感到不舒服!

谁知道,我怎么才能修复它呢?以及为什么每次(几乎每次)更改模板时都会发生此错误。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-22 09:03:57

避免这种问题的最好方法是上传到一个临时文件,然后重命名它。这样就不会出现部分文件。

至于为什么每次都会发生,想想吧。每天40万个页面浏览量,平均每秒== 4.6个请求。考虑到我所见过的大多数网站在特定时间内(在白天)的访问量要大得多,我怀疑你会看到每秒10到20个请求。按照这种速率,如果文件写入(由于上传)花费的时间超过0.05秒,则在写入时读取的机会会急剧增加。

所以你的选择(从最健壮到最不健壮。您总是可以执行多个操作):

  1. 在流量较低的几个小时后执行上载...
  2. 使用可为您执行重命名的FTP服务器。
  3. 在您上载新文件时手动重命名文件。(重要;重命名以覆盖原始文件。请勿先删除或移动原始文件)...
  4. Hack Smarty可忽略时间戳小于10到30秒的新文件(只需调用filemtime()以确定其上次修改的时间。请务必先调用clearstatcache(),这样您就不会得到一个旧的时间)...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3298218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档