簡體   English   中英

部署Symfony2項目時出現問題

[英]Problems deploying Symfony2 project

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

我無權訪問服務器上的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);

我做錯了什么?

正如評論所說

// 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')

注意

在prod env中,您需要指向app.php而不是app_dev.php

編輯

為了切換到PROD env,請運行以下命令:

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

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

--no-debug將退出調試模式,因為它不會在瀏覽器中顯示Symfony調試欄。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM