我试过谷歌搜索 - 没有结果。
我希望默认情况下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
答案 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/