2012-02-13 63 views

回答

53

夫婦更多的事情要考慮:

php app/console cache:clear --env=prod --no-debug 
php app/console assets:install web_directory 
php app/console assetic:dump web_directory 

您也可能遇到緩存目錄的權限問題。在切換到生產模式之前,我實際上首先要確保服務器上的所有工作都處於開發模式。如果你在生產模式下得到的只是空白屏幕,那麼將debug設置爲true。當然知道如何檢查錯誤日誌。

+1

你能告訴我在哪裏檢查錯誤日誌嗎? – Noor 2012-02-14 07:17:09

+0

Symfony日誌在app/logs中。 Web服務器依賴於服務器以及它如何配置,因此無法真正幫助那裏。 – Cerad 2012-02-14 14:15:49

+0

你回答是答案,順便說一下,所有那些將使用這個答案的人,每次你改變腳本中的某些內容,執行此操作,php應用/控制檯緩存:clear --env = prod --no-debug ,也有時你需要更改權限,所以做一個chown! – Noor 2012-02-15 17:05:09

11

部署一個確定指導移動Symfony2的生產是指:通過

訪問的應用程序:app.php/

測試開發包將不會被加載,因爲當您使用app.php時,AppKernel.php中存在一個條件。如果你想卸載捆綁只應在開發中使用,你可以將它們放置到本節(在appKernel.php)

if (in_array($this->getEnvironment(), array('dev', 'test'))) { 
      $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); 
      $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); 
      $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); 
      $bundles[] = new Sf2gen\Bundle\GeneratorBundle\Sf2genGeneratorBundle(); 
     } 

您還需要通過désactivating了XDebug和增加eacclerator(做一些服務器調整或其他成才緩存性能)

我還建議重新命名app_dev.php到disactivate開發模式

+1

你可以更加明確地說明如何設置生產模式 – Noor 2012-02-14 07:34:07

-5

在您的 「網絡/ app.php」 文件

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

將值更改爲 「true」。

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

現在可以在生產模式下加載應用程序。

+0

這是一個非常糟糕的做法,根本與部署應用程序無關。 – 2015-08-15 07:18:00

相關問題