2013-01-16 40 views
6

Possible Duplicate:
What is causing “Unable to allocate memory for pool” in PHP?Symfony Không thể cấp phát bộ nhớ cho hồ bơi

Hôm nay tôi nhận ra lỗi tiếp theo:

ErrorException: Warning: require() [function.require]: Unable to allocate memory for pool. in /symfony/symfony/src/Symfony/Component/ClassLoader/DebugClassLoader.php line 82 

nó một lỗi lạ, nếu tôi tải lại trang đôi khi 2 file có lỗi này, lần khác tất cả các các tập tin.

Nó nằm trong tệp JS và CSS của tôi.

Trả lời

19

Lỗi này thường liên quan đến Alternative PHP Cache (APC) liên quan đến bộ nhớ cache opcode miễn phí và mở cho PHP. Mục tiêu của nó là cung cấp một khung công tác miễn phí, cởi mở và mạnh mẽ cho bộ nhớ đệm và tối ưu hóa mã trung gian PHP. Sửa /etc/php.d/apc.ini, hãy nhập:

# vi /etc/php.d/apc.ini 

Hãy chắc chắn rằng mktemp kiểu file_mask để vượt qua các mô-đun mmap là chính xác và hợp lệ một:

apc.mmap_file_mask=/tmp/apc.XXXXXX 

Tiếp đảm bảo kích thước của mỗi phân đoạn bộ nhớ chia sẻ, với hậu tố M/G được đặt chính xác theo yêu cầu của bạn. Trong trường hợp của tôi nó đã được thiết lập để 8M:

apc.shm_size=96M 

Bạn cần phải điều chỉnh số giây một mục bộ nhớ cache được phép nhàn rỗi trong một khe trong trường hợp khe cache entry này là cần thiết bởi entry khác:

apc.ttl=3600 

số giây một mục sử dụng bộ nhớ cache được phép nhàn rỗi trong một khe trong trường hợp khe cắm bộ nhớ cache entry này là cần thiết bởi entry khác:

apc.user_ttl=3600 

số giây mà một mục bộ nhớ cache có thể vẫn còn trên danh sách thu gom rác.

Lưu và đóng tệp. Đảm bảo bạn điều chỉnh các giá trị theo yêu cầu của bạn. Khởi động lại máy chủ Apache 2 web:

# service httpd restart 
+0

Đôi khi, vấn đề có thể được giải quyết bằng cách chỉ cần xóa cache: php ứng dụng/console cache: rõ ràng – kakoma

+0

Như đã đề cập ở trên, thanh toán bù trừ bộ nhớ cache có thể giúp đỡ, nhưng tôi cũng đã phải khởi động lại apache để nó tự giải quyết. – beterthanlife

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