Symfony2应用程序在kernel.request和kernel.controller之间始终等待3秒
作者:互联网
我正在尝试在具有PHP7和nginx和FastCGI PM的docker容器中构建这个symfony2应用程序.
每次应用程序执行时,我都会在kernel.request和kernel.controller之间得到这神秘的3秒无法解释的执行时间.
当我在无业游民的计算机上的典型php5.5 apache2配置上运行该应用程序时,没有此行为,因此我不确定是否与我的PHP配置或PHP7有关,但是我想知道是否有人看到过像这样的事情,并且不知道这里可能会发生什么?
编辑以下docker_compose配置:
cafe:
build: /opt/cafe
ports:
- "9981:80"
environment:
- "CAFE_CACHE_DIR=/tmp/cafe/cache"
- "CAFE_LOG_DIR=/var/log/cafe"
- "SF_ENV=local"
volumes:
- /var/log/php7:/var/log/php7
- /var/log/nginx:/var/log/nginx
解决方法:
万一有人好奇或有相同的问题,我终于找到了问题,这不是我所期望的.当我为PHP7设置该项目时,我无法使用通常需要的标准linux发行版,因此必须自己添加所有配置文件.
经过艰苦的代码分析,我发现停滞的确切行是我在kernel.controller侦听器中运行get_browser()(http://php.net/manual/en/function.get-browser.php)的地方.由于在容器中设置php配置时使用了browscap.ini文件,因此get_browser()出现性能问题.我猜出于某种原因,我使用的browscap.ini文件有解析问题.我使用lite_php_browscap.ini版本进行了更改,现在它运行非常快,没有问题.
标签:nginx,docker,symfony,php-7 来源: https://codeday.me/bug/20191027/1946911.html