2014-03-31 115 views
0

我在將symfony2項目部署到http://beachteamvandenbroecke-engels.be/時遇到困難。部署Symfony2項目的問題

我無法訪問我的服務器上的ssh,因此我必須手動將項目文件夾複製到我的網站。
我已經導出我的本地數據庫並將其插入到服務器上。
我已更改我的config/parameters.yml中的設置。

但現在,當我想去http://beachteamvandenbroecke-engels.be/web/app_dev.php(沒有爲重定向我的.htaccess文件)我得到這個錯誤:

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

在我app_dev.php:

<?php 

use Symfony\Component\HttpFoundation\Request; 
use Symfony\Component\Debug\Debug; 

// If you don't want to setup permissions the proper way, just uncomment the following PHP line 
// read http://symfony.com/doc/current/book/installation.html#configuration-and-setup for more information 
//umask(0000); 

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

$loader = require_once __DIR__.'/../app/bootstrap.php.cache'; 
Debug::enable(); 

require_once __DIR__.'/../app/AppKernel.php'; 

$kernel = new AppKernel('dev', true); 
$kernel->loadClassCache(); 
$request = Request::createFromGlobals(); 
$response = $kernel->handle($request); 
$response->send(); 
$kernel->terminate($request, $response); 

我做錯了什麼?

+0

哇!顯示一些努力!這是寫爲什麼**在您的代碼** **! – Touki

回答

6

的評論賽斯

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

這僅僅是檢查你的IP地址是允許的。並且允許IP包含在這個數組array('127.0.0.1', 'fe80::1', '::1')中。

注意

在督促ENV你需要指向app.phpapp_dev.php

編輯

,以切換到PROD ENV,運行這個命令:

php app/console cache:warmup --env=prod --no-debug 

--env=prod將提供指向app.php,而不是app_dev.php

--no-debug將退出調試模式就像它不會顯示在瀏覽器中的Symfony調試吧..

+0

最好使用web/app.php(正如你在筆記中所說的) – Debflav

+0

@Debflav是的,但正如我在編輯中提到的,這將通過適當的命令從控制檯完成:-) – ponciste