PHP 要使用的包含数

Posted

技术标签:

【中文标题】PHP 要使用的包含数【英文标题】:PHP number of includes to use 【发布时间】:2011-05-30 06:21:11 【问题描述】:

我使用许多包含来显示我网站的一小部分。使用许多包含是否可以,或者我应该减少它们(尽可能)。包含函数需要多长时间?

我的主页加载非常缓慢。有什么办法让它加载得更快。 (我的主页每天在主页上显示几乎相同的内容一小时(并且仅在某些部分显示一些不同的数据)。我可以缓存它吗..什么是可用于缓存的最佳解决方案或我可以使用的其他方式速度更快。)

【问题讨论】:

包含的数量不是问题。问题在于您的源代码,也许您的查询很慢,将它们打印在屏幕上并处理 PMA 以检查它们是如何工作的。 您可以使用xdebug 来查找导致代码变慢的原因 【参考方案1】:

如果信息只持续一个小时并且会被更改,那么没有理由对那部分信息使用缓存,因为人们下次访问时会得到另一个信息,缓存的信息就浪费了。

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

现在转向为什么您的主页加载太慢的问题,我认为这不是您的include()'s 的问题,但可能是您处理数据的方式的问题。正如有人在您的帖子中评论的那样,请使用 Xdebug 找出导致您的主页变慢的原因。

祝你好运。

【讨论】:

如果信息持续一小时,如果我们谈论的是服务器端缓存,那么缓存是有原因的。如果谈论包含文件,包含文件将解析它(并可能执行一些繁重的操作,例如进行数据库查询),而输出文件的内容将只是读取文件的内容并输出它 - 这是一个巨大的差异。 @binaryLV:为什么你认为信息只出现一个小时就应该被缓存?而且,据我所知,include() 语句包含并评估指定的文件,除非有对方法的任何调用,否则不会执行任何操作。你应该看看这个页面***.com/questions/2298196/…【参考方案2】:

也许这个问题的答案对你有帮助:

php include(): File size & performance

【讨论】:

【参考方案3】:

如果内容每小时更新一次,为什么不每小时创建一个静态 html(可以通过 php 轻松完成),这样,只有静态 html 被读取并加载给用户,而不是根据网络请求生成。


编辑:

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

【讨论】:

可能是因为“它在某些部分显示了一些不同的数据”。 如果它在某些部分显示一些不同的数据,并且在大图中,所有内容都是按小时收集和更新的,建议您按小时生成一个静态页面。根据我的经验,它可以节省很多开销。 我认为他有两种类型的内容 - 一种是每小时变化的,另一种是完全动态的(而不是第二种完全静态的)。 然后,您可以静态生成不那么动态的部分,并仅附加动态生成的部分。在这种情况下,Fusion 的工作方式相同。您的最终文件将包含 .php 中的部分(我假设您的动态生成的页面是在 php 中完成的)和 html 中的部分(但包含在 php 中)。这样,您就可以从每小时池中的查询中节省开销。 @SynerCoder,感谢您的编辑。没有比我自己更好的组合了。

以上是关于PHP 要使用的包含数的主要内容,如果未能解决你的问题,请参考以下文章

如何判断哪些 PHP 文件实际被使用,哪些没有? [关闭]

使用包含的 php pecl 扩展

PHP的性能优化方法总结

删除带有特定字符数的行

如何使用 MySQL 表过滤 php 数组?

PHP Cookies 包含较少的数据