Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要使用的PHP包含数_Php_Caching_Include_Loading - Fatal编程技术网

要使用的PHP包含数

要使用的PHP包含数,php,caching,include,loading,Php,Caching,Include,Loading,我正在使用许多包含来显示我的网站的小部分。使用多个include可以吗?或者我应该(尽可能)减少它们。一个包含函数要花费多少时间 我的主页加载速度很慢。如何使其加载更快。(我的主页每天一个小时在主页上显示几乎相同的内容(并且只在某些部分显示一些不同的数据)。我可以缓存它吗..缓存的最佳解决方案是什么,或者我可以通过其他方式使事情更快。)如果内容每小时更新一次,为什么不创建一个静态html(可以很容易地由php完成)每小时一次,这样,只有静态html被读取并加载到用户,而不是在web请求时生成

我正在使用许多包含来显示我的网站的小部分。使用多个include可以吗?或者我应该(尽可能)减少它们。一个包含函数要花费多少时间


我的主页加载速度很慢。如何使其加载更快。(我的主页每天一个小时在主页上显示几乎相同的内容(并且只在某些部分显示一些不同的数据)。我可以缓存它吗..缓存的最佳解决方案是什么,或者我可以通过其他方式使事情更快。)

如果内容每小时更新一次,为什么不创建一个静态html(可以很容易地由php完成)每小时一次,这样,只有静态html被读取并加载到用户,而不是在web请求时生成


编辑:


您创建一个php脚本,该脚本将生成一个类似index.html的文件,并用html代码填充该文件。然后每小时执行一次该php脚本。这可以通过使用CRON作业来实现。如果您想了解其中任何一个方面的详细信息,请询问关于该主题的另一个指定问题。

也许这个问题的答案可以帮助您:


如果信息仅持续一个小时并将被更改,那么就没有理由对该部分信息使用缓存,因为下次人们访问时,他们将获得另一个信息,而缓存的信息将被浪费

而且,我认为在当前页面中包含文件与包含文件内容之间没有太大区别,因为它们都将以类似方式执行。使用
include()
只会使代码看起来更干净、更易于控制和维护

现在转到为什么你的主页加载太慢的问题,我认为这不是你的
include()
的问题,而是你处理数据的方式的问题。正如有人在你的帖子中评论的那样,使用Xdebug来找出是什么让你的主页变慢


祝你好运。

包含的数量不是问题。问题在于你的源代码可能查询速度慢,请在屏幕上打印它们,然后转到PMA检查它们是如何工作的。你可以使用查找代码速度慢的原因可能是“它在某些部分显示了一些不同的数据”。如果它在某些部分显示了一些不同的数据,并且在大图片中,所有内容都是按小时收集和更新的,建议您按小时生成一个静态页面。根据我的经验,这节省了大量开销。我认为他有两种类型的内容-一种是按小时变化的,另一种是完全动态的(而不是第二种类型是完全静态的)。然后,您可以静态生成不那么动态的部分,并只附加动态生成的。Fusion在这种情况下也会起同样的作用。您的最终文件将包含.php中的部分(我假设您的动态生成页面是在php中完成的)和html中的部分(但包含在php中)。这样,您就可以从每小时池中节省查询的开销。@SynerCoder,谢谢您的编辑。我自己也能做到这一点。如果信息持续一小时,如果我们谈论服务器端缓存,那么缓存是有原因的。如果谈论包含文件,包含文件将解析它(并可能执行一些繁重的操作,如执行DB查询),而输出文件的内容只会读取文件的内容并输出它-这是一个巨大的区别。@binaryLV:为什么您认为信息只出现一个小时就应该缓存?而且,据我所知,include()语句包括并计算指定的文件,除非有任何方法调用,否则不执行任何操作。您应该查看此页