首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Browscap.ini启动延迟

Browscap.ini启动延迟
EN

Stack Overflow用户
提问于 2015-08-11 22:10:51
回答 1查看 185关注 0票数 0

我注意到在php-cli.ini文件中启用browscap.ini条目会增加php的启动时间。

代码语言:javascript
复制
[browscap]
browscap = /etc/browscap.ini

time php -r 'echo "Hello\n";'
Hello

real    0m1.709s
user    0m1.358s
sys 0m0.348s

*诉下文*

代码语言:javascript
复制
[browscap]
;browscap = /etc/browscap.ini

time php -r 'echo "Hello\n";'
Hello

real    0m0.041s
user    0m0.029s
sys 0m0.011s

现在我知道了,当调用像get_browser()这样的函数时,php会查找get_browser文件。如果使用这样的函数,我可以理解它的滞后。

我不认为php会在每次启动时将browscap.ini(可以是大数据)加载到内存中。但是,为什么php的启动会出现巨大的延迟呢?

也许它会尝试检查browscap.ini文件是否存在于每个启动或其他验证中?无法在php文档中找到任何内容。

那么,为什么php启动时间的巨大差异呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-11 23:05:24

PHP在启动时加载其整个配置(包括browscap.ini),在CLI中,每次调用php时都会加载。在脚本中不调用get_browser()并不重要,甚至不需要给php任何脚本来解释;如果配置文件这样说的话,浏览器将被加载。启动时间的差异是显而易见的,因为典型的browscap.ini通常比较大。

下面是我的机器使用不同大小的浏览文件和简单php -v的一堆结果

  • 无褐飞虱:0m0.030
  • lite_php_browscap.ini (222KB):0m0.040
  • php_browscap.ini (16,301 KB):0m0.640
  • full_php_browscap.ini (33,714 KB):0m1.29S
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31952850

复制
相关文章

相似问题

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