我現在只有這個問題。每當我在我的樹枝上做出改變時,我都需要cache:clear
。以及在代碼中出現錯誤時不顯示錯誤?我該怎麼辦?!Symfony2 - 查看枝條的變化必須每次都清除緩存
回答
我曾多次遇到這個問題。如果您的網站正在被這麼多用戶訪問,並且您清除了緩存。我相信你的網站在新的緩存生成之前幾分鐘就關閉了。
因此,清除生產服務器上的緩存不應該是一項常規活動。 有幾個解決方法或技巧來克服這個問題:
- 找到您的網站流量低時的時間。可能是在夜晚的某個時間,然後清除緩存。
- 當您想要清除緩存時,請設置生產服務器的副本,然後計劃將公有領域IP切換到新副本以進行計時,以便用戶不能面對停機時間,並且一旦清除了實際生產中的緩存服務器。將公共域ip切換回生產服務器。
- 如果您對模板ietwig進行了一些更改並希望對生產進行實時更改,那麼嘗試在app/cache/prod/twig目錄中找到模板並grep模板名稱,您將獲得這些文件。除移動文件或刪除文件外,您的更改將保留在生產服務器上。
如何清除緩存
php app/console cache:clear
chmod -R 777 app/cache
chmod -R 777 app/logs
替代
你要做的位於Web文件夾app.php文件中的一些變化。
變化
$kernel = new AppKernel('prod', false);
到
$kernel = new AppKernel('prod', true);
並清除緩存
這個問題並沒有要求如何清除緩存,但每次他做一些代碼更改時如何避免手動執行。 – Michi
我剛剛創建了一個控制檯命令,選擇性地列出或手動刪除樹枝緩存文件,而不是運行耗時清除:清除所有內容的緩存。語法是:
kmlf:樹枝--clear --env =開發AcmeBundle :: nglayout.html.twig AcmeBundle:簡單:simple3.html.twig
可以消除--clear標誌,如果你只想列出緩存文件位置。它似乎在Symfony 2.3的產品和開發環境中都能很好地工作:
use Symfony\Component\Console\Command\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Output\Output;
class TwigCacheCommand extends ContainerAwareCommand
{
public function configure()
{
$this->setName('kmlf:twig')
->setDescription('selectively manage the twig cache')
->addArgument(
'names',
InputArgument::IS_ARRAY,
'Example AcmeBundle:Section:view.html.twig',
null
)->addOption('clear','c', InputOption::VALUE_NONE, 'delete cache files');
}
public function write($output, $text) {
$output->writeln($text);
}
public function execute(InputInterface $input, OutputInterface $output)
{
$environment = $this->getContainer()->get('twig');
$names = $input->getArgument('names');
$actionName = null;
if ($input->getOption('clear')) {
$actionName = 'deleting';
$action = function ($fileName) {
unlink($fileName);
};
} else {
$actionName="path:";
$action = function ($filename) {
};
}
foreach ($names as $name) {
$fileName = $environment->getCacheFilename($name);
if (file_exists($fileName)) {
$action($fileName);
} else {
$fileName = 'not found.';
}
$this->write($output, $actionName.' '.$name."\ncacheFile: ".$fileName);
}
$this->write($output, 'Done');
}
}
謝謝,這非常有用。 – Alsciende
- 1. NetBeans - 每次必須調試時都必須清理構建
- 2. 我每次修改css文件時都必須清除cookie
- 3. 查看並清除Postgres緩存/緩存?
- 4. Django每次查看緩存不緩存
- 5. 在Symfony2/Doctrine中清除查詢緩存
- 6. Symfony2學說清除緩存
- 7. 無法清除緩存Symfony2
- 8. 讓zend每次訪問都清除緩存?
- 9. 清除ListView的查看緩存
- 10. 爲什麼不緩存:: clear()清除我的(查看)緩存? (CakePHP)
- 11. CUDA - 我必須每次都分配和釋放內存嗎?
- 12. 在緩存中設置symfony2緩存文件的路徑:清除
- 13. 在看到變化之前,必須在Xcode中編譯兩次
- 14. 枝條輸出緩存
- 15. 對每個線程都必須可見的變量的單次計算
- 16. symfony禁用緩存清除
- 17. 清除緩存
- 18. 緩存清除
- 19. Django緩存 - 清除緩存
- 20. 如何清除/刪除緩存變量
- 21. 定製中的Symfony2 /枝條
- 22. 網頁開發 - 無需每次清除緩存
- 23. Symfony 2.8 - scssphp需要在每次更改時清除緩存
- 24. 實施戰略模式。我每次都必須「新」嗎?
- 25. 重定向不工作,每次都必須刷新頁面
- 26. 每次佈局更改時都必須setOnClickListener()?
- 27. 每次推送後我都必須手動克隆嗎?
- 28. 爲什麼每次調用glMatrixMode之後都必須調用glLoadIdentity?
- 29. Twitter aouth API:我每次都必須認證用戶嗎?
- 30. 防止每次打開活動時都必須加載TextViews?
您是否正在使用app_dev.php文件進行測試? –
是的,我正在使用app_dev.php – TooTiredToDrink
您是否看到底部的剖析器條或右下角的symfony徽標?還要檢查app_dev.php的第27行,它應該讀取'$ kernel = new AppKernel('dev',true);' –