動態參數我有一個日誌系統,多站點aplication取決於每個網站,我希望他們每個人都有自己的日誌文件,所以我做的是:緩存問題與config.yml
1)我使用config.yml
中的動態變量取決於$_SERVER['HTTP_HOST']
。
config.yml:
imports:
- { resource: param.php }
...
monolog:
handlers:
user:
type: stream
path: %kernel.logs_dir%/%domain_name%.%log_filename%
channels: [user]
=>%domain_name%
是我的動態可變
2)I將其設置在應用程序/配置/ param.php:
<?php
$url = $_SERVER['HTTP_HOST'];
$domain = preg_replace('/^www./', '', $url);
$container->setParameter('domain_name', $domain); // this set my variable `%domain_name%` with the current domain (ex: site1.com)
問題:
此代碼正常工作,但whe n我切換到其他網站,%domain_name%的值保持等於其初始值。
例:
- 我在www.site1.com =>
%domain_name%
值是 「site1.com」,所以它的工作原理 罰款 - 我切換到www.site2.com =>
%domain_name%
值始終爲 「site1.com」 和 不是 「site2.com」
爲什麼?
緩存問題。事實上,在高速緩存config.yml
Symfony的負載,它保持的%domain_name%
的第一個值刪除此值我必須執行以下命令:rm -rf app/cache/*
但它不是一個解決方案。
那麼沒人有解決這個問題的辦法?謝謝
我在第一種情況下,但我用獨白寫日誌,所以我必須定義路徑日誌文件中config.yml,我想,每個站點都有自己的日誌文件,所以我用這個動態的變量 – DOZ
是好的,這就說得通了。 看看這裏:http://stackoverflow.com/questions/9516301/symfony2-how-can-i-use-different-parameters-ini-per-host-name 他們使用symfony2.0,因爲它看起來像,但這可以解決你的問題。這就像建議:定義一個額外的環境可以/應該是你的問題的最佳解決方案。 – user3463725