编程语言
首页 > 编程语言> > Symfony2应用程序在kernel.request和kernel.controller之间始终等待3秒

Symfony2应用程序在kernel.request和kernel.controller之间始终等待3秒

作者:互联网

我正在尝试在具有PHP7和nginx和FastCGI PM的docker容器中构建这个symfony2应用程序.

每次应用程序执行时,我都会在kernel.request和kernel.controller之间得到这神秘的3秒无法解释的执行时间.

您可以在以下屏幕截图中看到奇数请求时间轴:
enter image description here

当我在无业游民的计算机上的典型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版本进行了更改,现在它运行非常快,没有问题.

enter image description here

标签:nginx,docker,symfony,php-7
来源: https://codeday.me/bug/20191027/1946911.html