我有以下情况:
我正在使用 PHP Smarty 和 Xajax 开发一个管理 Web 系统。 除了编写代码时常见的错误之外,我在开发时没有遇到任何问题或问题,但我正在随时随地修复这些问题。
数据库和 Apache 服务器所在的 LAN 可以访问互联网,并且网站的行为符合预期。
两天前,我正在使用的 LAN 被阻止访问互联网,以便测试其他系统行为并尝试重现 future 的生产环境,我注意到我正在使用的系统从那一刻起就出现了问题。加载时间很长,它加载但需要相当长的时间,大约 30 秒或更长时间,而以前,有互联网访问,它是立即加载的。
注意到这一点后,我告诉网络管理员再次允许该局域网访问互联网,加载时间恢复正常,之后该局域网再次没有互联网,加载时间又很长。
我的 smarty 配置位于每个 php 文件的包含文件中:
$smarty = new Smarty();
$smarty->cache_lifetime = 300;
$smarty->template_dir = "templates";
$smarty->compile_dir = "lib/smarty/templates_c";
$smarty->cache_dir = "lib/smarty/cache";
$smarty->config_dir = "lib/smarty/configs";
由于我在内部 LAN 中有 Mysql 服务器和 Apache 服务器,因此不应该出现任何连接问题,那么为什么会发生这种情况?
我希望遇到类似情况的任何人都可以给我任何提示,告诉我为什么会发生这种情况以及如何解决。
最佳答案
它与 Smarty 无关。
我通过阻止 mysql 服务器中的 dns 查找解决了这种情况。
[mysqld]
# Skip reverse DNS lookup of clients
skip-name-resolve
现在,无论是否有来自 LAN 内部或外部的互联网连接,它都可以快速且良好地加载。
关于php - 当局域网没有互联网连接时,smarty加载时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42846148/