Symfony dev env for localhost和custom ips

时间:2017-09-13 13:25:20

标签: symfony

我试过谷歌搜索 - 没有结果。

我希望默认情况下dev环境对于localhost和其他预定义的ips。我在use Symfony\Component\HttpFoundation\Request;中的第一行./web/app.php后尝试了以下内容:

if ($_SERVER['REMOTE_ADDR'] === '127.0.0.1') {
    require './app_dev.php';
    exit;
}

但它给出了一个例外 - Compile Error: Cannot redeclare class Symfony\Component\Debug\ErrorHandler。有什么想法吗?

更新: 我想要的是。当ip是localhost时,我想要加载dev环境。

更新2 Symfony ver - 3.2

2 个答案:

答案 0 :(得分:1)

一种可能的方法是添加类似的检查 - 略微修改,以便您可以在use语句之后添加更多IP:

$env = 'prod';
if (in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'], true)) {
    $env = 'dev';
}

,稍后,请更改此内容:

$kernel = new AppKernel('prod', false);

到此:

$kernel = new AppKernel($env, false);

这样app.php会自动加载你想要的IP上的'dev'环境。

答案 1 :(得分:0)

你可以删除HTTP / 1.0 403 Forbidden if语句并替换此行

$kernel = new AppKernel('prod', false);

通过

if ($_SERVER['REMOTE_ADDR'] === '127.0.0.1') {
    $kernel = new AppKernel('dev', true);
}else{
    $kernel = new AppKernel('prod', false);
}

你也可以更新你的网站.htaccess用app_dev.php替换以下行中出现的所有app.php

DirectoryIndex app.php
RewriteRule ^ %{ENV:BASE}/app.php [L]
RedirectMatch 302 ^/$ /app.php/