2013-03-09 23 views
5

Vài ngày trước, tôi bắt đầu một ứng dụng Symfony2 mới và tôi nhận được một số rắc rối với bộ nhớ cache:Fatal error: Được phép kích thước bộ nhớ của 33.554.432 byte kiệt sức (cố gắng phân bổ 72 byte)

$ rm -rf ./app/cache/* 
$ rm -rf ./app/logs/* 
$ ./app/console cache:clear 

Clearing the cache for the dev environment with debug true 

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 72 bytes) in /Users/simonegentili/Development/Www/shop_website/vendor/twig/twig/lib/Twig/Node/Text.php on line 23 

Và ...

$ ./app/console cache:clear --env=prod 

hoạt động tốt.

+0

Chỉ một ứng dụng «rm -rf/cache/*' đơn giản có phù hợp với bạn không? Ngoài ra, bạn có thể muốn mở một báo cáo lỗi trên trang Symfony GitHub. – smottt

+0

Không xin lỗi, nhưng thaks. Tôi đã cập nhật câu hỏi. – sensorario

+0

Như là một quickfix, bạn có thể thử và lên memory_limit trong php.ini để nói .. 64MB? – smottt

Trả lời

15

Tôi gặp vấn đề như vậy trong quá khứ. Có vẻ như đối với các dự án lớn, kịch bản CLI này cố gắng tạo ra quá nhiều công việc. Khi tôi phát hiện ra nó có thể đặt dung lượng bộ nhớ khả dụng trong trường hợp này:

sudo php -d memory_limit=256M app/console cache:clear 
+0

tôi sẽ không khuyên bạn nên sử dụng sudo kể từ sau đó bạn sẽ luôn luôn cần phải sử dụng sudo để làm ấm bộ nhớ cache. Hãy thử tăng giới hạn bộ nhớ từ php.ini thay vì – GusDeCooL

+2

Tăng giới hạn bộ nhớ trong php.ini sẽ tăng nó lên tất cả các tập lệnh php. Tại sao chúng ta nên làm điều đó nếu chỉ có một hoạt động nặng nề này? –

+0

Bởi vì chúng tôi sẽ cần bộ nhớ cache rõ ràng hơn một lần, đặc biệt là trong môi trường phát triển. – GusDeCooL