Symfony 3.2.4通配符路由导致100%的CPU利用率

时间:2017-02-28 12:34:46

标签: php apache symfony cpu-usage

我有一个非常奇怪的问题:

我有两条路线: 第一个带有通配符:

/**
 * @Route("/test/{test}", name="test")
 * @param type $route
 */
public function testAction(Request $request, $test) {

    return $this->render('resource/showResource.html.twig', [
                'test' => $test
    ]);
}

第二个没有通配符:

/**
 * @Route("/test", name="test")
 * @param type $route
 */
public function testAction(Request $request) {

    return $this->render('resource/showResource.html.twig', [
                'test' => 'something'
    ]);
}

问题是,当我第一次运行(http://localhost/app_dev.php/test/1)时,我的CPU利用率几乎达到100%(进程:httpd.exe =&gt; Apache HTTP Server。 < / p>

第二个没有这样的问题。

导致这种情况的原因是什么?

3 个答案:

答案 0 :(得分:1)

问题解决了: 在文件base.html.twig我没有像这样的工作线:

    <script src="../vendors/jquery/dist/jquery.min.js"></script>

现在我正在为他们使用资产,一切都像魅力一样。

感谢大家的努力! :)

答案 1 :(得分:0)

/**
 * @Route("/test/{test}", name="test")
 */
public function testAction($test) {

    return $this->render('resource/showResource.html.twig', [
       'test' => $test
    ]);
}

答案 2 :(得分:0)

尝试以下可能会对您有所帮助:

/**
 * @Route("/test/{test}", name="test", requirements={"test": "\d+"})
 * @param type $route
 */
public function testAction(Request $request, $test) {

    return $this->render('resource/showResource.html.twig', [
            'test' => $test
    ]);
}

查看有关http://symfony.com/doc/current/routing.html#adding-wildcard-requirements

的更多详情