2015-05-19 153 views
6

我托管了我的网站;一个Symfony2应用程序,当我尝试访问我的网站 此消息是显示。我无法访问我的网站Symfony [您无法访问此文件]

You are not allowed to access this file. Check app_dev.php for more information 

的链接是:

http://something.com/web/app_dev.php/ 

当我尝试在生产模式访问,这是消息:

Fatal error: Class 'AppBundle\AppBundle' not found in /htdocs/app/AppKernel.php on line 19 

我没有这个文件夹htdocs/我的托管

+0

你应该创建另一个问题是你的第二个问题。下一个面临问题的人不方便。 –

+0

我回答了如何解决你的第一个问题。但是,只有在您将其置于另一个问题之后,我才会讨论并回答您的第二个问题。 –

回答

17

您面临授权dev-enviro的问题市民明白。

如果你打开app_dev.php,你会看到下面的代码:

// 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', 'fe80::1', '::1')) || php_sapi_name() === 'cli-server') 
) { 
    header('HTTP/1.0 403 Forbidden'); 
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); 
} 

它作为其他人的后卫队员来访问您的DEV-ENV。

您可以将您的IP添加到可信IP列表中,并且所有都可以正常工作。在代码中定义数组信任的IP:

array('127.0.0.1', 'fe80::1', '::1') 
+0

抱歉Symfony的新手问题:你如何向公众推销? –

+1

@ 3000,如果你需要使用'app.php'前端控制器,你需要使用'prod'环境中已经配置好的'app.php'前端控制器 –

+0

如果你把你的IP并且它仍然不起作用,可能是由于浏览器缓存。为了让它工作,请关闭浏览器并再次打开它。 – Hokusai

-6

尝试删除该两行

header('HTTP/1.0 403 Forbidden'); 
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.'); 

}

从app_dev.php.It对我的作品

+0

是的,工作但安全的原因不好! –