【发布时间】:2020-03-09 07:50:07
【问题描述】:
为了最大限度地减少页面加载时间,我们将 PHP 生成的 HTML 缓存为 HTML 文件。如果存在“缓存文件”,我们将使用它。否则,我们运行 PHP 脚本来生成页面。 为了进一步降低页面加载速度,我们想删除“如果文件存在”行(这需要时间),如果文件不存在,则让 PHP 生成错误。然后我们会“捕捉”错误并让 PHP 生成页面。
问题如下:有没有简单的方法在PHP中实现“On error, leave function”。
这是我们的代码:
function UseCachedPage()
{
$CacheFile='mypage.html';
if(!file_exists($CacheFile)) return; //Would like to skip this to save time
include($CacheFile);
//Magic "on error, leave function" needed here.
exit; //Cache included, so no need to run the php.
}
任何帮助将不胜感激。
【问题讨论】:
-
我的意思是..什么样的错误?如果 PHP 无效,PHP 将发出致命错误/抛出通知/警告
-
“(这需要时间)” - 你有没有实际测量过那是多少……?对不起,但整个想法对我来说听起来像是高级废话。我非常怀疑这会显着加快任何速度;取决于您计划如何“处理错误”,它甚至可能会减慢速度。
-
我们尝试包含缓存文件。如果它在那里,那就太好了。如果不是 PHP 将生成此错误”:警告:include('cache file') [function.include]:无法打开流:xx.php 中的第 xx 行没有此类文件或目录警告:include() [function.include ]: 在第 xx 行的 xx.php 中打开 'xxx.html' 以包含 (include_path='.:/usr/local/lib/php/') 失败
-
如何使用专门的缓存工具,例如 Varnish?
标签: php caching error-handling