Symfony 2 app.php vs app_dev.php

Cap*_*ggz 3 php symfony

我正在使用Symfony 2 php框架,它有几个不同的使用环境:开发,生产和测试.app.php前端控制器访问生产环境,app_dev.php前端控制器访问开发环境.任何熟悉Symfony的人都可以建议将开发环境限制为开发人员的最佳方法是什么?我不希望我的网站用户可以查看我的Web应用程序的开发版本,他们应该被限制使用生产环境.

Pet*_*ley 10

好吧,开箱即用,标准发行版在开发控制器顶部有一个基于IP的防护检查.

// This check prevents access to debug front controllers that are deployed by accident to production servers.
// Feel free to remove this, extend it, or make something more sophisticated.
if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !in_array(@$_SERVER['REMOTE_ADDR'], array(
        '127.0.0.1',
        '::1',
    ))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
Run Code Online (Sandbox Code Playgroud)

但是,正如评论所表明的那样,你不会对这种方法感到满意.例如,如果您正在运行Apache,则可以向开发人员和测试控制器添加基本​​HTTP身份验证.