2012-06-05 33 views
9

Tôi đã đọc rất nhiều về lệnh bộ nhớ cache rõ ràng cho symfony2, nhưng tôi có câu hỏi này:Symfony2, Làm cách nào để thay đổi môi trường?

php app/console cache:clear --env=prod với --env, thay đổi môi trường, hoặc chỉ làm sạch bộ nhớ cache cho môi trường?

Nếu chỉ xóa bộ nhớ cache cho môi trường đó, là sau đó những gì dòng này có nghĩa là trong app.php:

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

Tôi nghĩ khi tôi muốn sử dụng Môi trường Symfony2 Production tôi phải thay đổi dòng để

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

Tôi có đúng vị trí không?

Trả lời

16

Hai đối số hàm tạo cho Symfony\Component\HttpKernel\Kernel$environment$debug.

Vì vậy, để trả lời câu hỏi của bạn trực tiếp, app.php đã sử dụng môi trường sản xuất. Bạn sẽ nhận thấy rằng app_dev.php instantiates hạt nhân như thế này

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

Vì vậy, tên môi trường mà bạn vượt qua các bản đồ xây dựng hạt nhân với tên môi trường bạn muốn sử dụng trong giao diện điều khiển lệnh (tức là, --env).

Điều đó có làm rõ điều đó cho bạn không?

+0

Tôi có nghĩa là nếu tôi muốn sử dụng môi trường sản xuất về người dùng (trong trình duyệt), tôi phải cho chúng tôi '$ kernel = new AppKernel ('prod', true);', phải không? Clear Cache sẽ không thay đổi môi trường! Chính xác? – PMoubed

+0

Không, môi trường được xác định bởi bộ điều khiển mặt trước đang được sử dụng - theo mặc định là ** app.php **. Ý tôi là 'site.com/route' tương tự với' site.come/app.php/route' trong đó ** app.php ** là bộ điều khiển phía trước đang được sử dụng. Nếu bạn muốn chuyển sang bộ điều khiển phía trước của dev, URL của bạn sẽ trông giống như 'site.com/app_dev.php/route'. Có lý? http://symfony.com/doc/current/book/http_fundamentals.html#the-front-controller –

+0

Tôi nghĩ đối số thứ hai (giá trị boolean) đề cập đến việc liệu môi trường có nên chạy với gỡ lỗi được kích hoạt hoặc vô hiệu hóa hay không – DesirePRG

6

Để thay đổi môi trường bạn đã thay đổi bộ điều khiển trước. Symfony2 cung cấp theo mặc định ba môi trường và một bộ điều khiển phía trước cho mỗi một trong số chúng với một tệp cấu hình cụ thể>See more

Khi bạn thực hiện bộ nhớ cache: lệnh rõ ràng cho môi trường cụ thể, nó chỉ xóa bộ nhớ cache cho môi trường nhất định. Để thay đổi môi trường của bạn, bạn vừa thay đổi front controller của bạn (app.php/app_dev.php/app_test.php)

Bạn cũng có thể create new environments with a specific configuration

Các vấn đề liên quan