Tác giả Chủ đề: Trong PHP bị lỗi quá bộ nhớ cho phép thì làm thế nào?  (Đọc 2224 lần)

0 Thành viên và 1 Khách đang xem chủ đề.

Offline admin

  • Administrator
  • Trung tướng
  • *****
  • Điểm yêu thích +105/-0
  • Giới tính: Nam
  • Học, học nữa, học mãi
    • Diễn đàn Nhật Bản
  • Paypal Account: admin@diendannhatban.info
Trong PHP bị lỗi quá bộ nhớ cho phép thì làm thế nào?
« vào lúc: Thứ năm, 5/11/2015, 04:16:21 pm »
Trong PHP bị lỗi quá bộ nhớ cho phép thì làm thế nào?
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted


Code: Bạn không thể xem liên kết này. Đăng ký hoặc Đăng nhập
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
Có 2 cách để xử lý vấn đề này.

1. Thiết lập bộ nhớ cho phép trong php.ini

Code: Bạn không thể xem liên kết này. Đăng ký hoặc Đăng nhập
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M

2. Không giới hạn bộ nhớ (Có thể làm tràn bộ nhớ máy chủ)

Code: Bạn không thể xem liên kết này. Đăng ký hoặc Đăng nhập
ini_set('memory_limit', '-1');

*Ý tưởng: Các bạn có thể viết code quản lý bộ nhớ trên script để quản lý chương trình hiệu quả hơn
Code: Bạn không thể xem liên kết này. Đăng ký hoặc Đăng nhập
private function convert($size)
{
    $unit=array('b','kb','mb','gb','tb','pb');
    return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];
}

Code: Bạn không thể xem liên kết này. Đăng ký hoặc Đăng nhập
Output: '216.29 mb'

Tham khảo:
Bạn không thể xem liên kết này. Đăng ký hoặc Đăng nhập
« Sửa lần cuối: Thứ sáu, 6/11/2015, 12:15:59 am gửi bởi ddnbgroup »


Diễn đàn Nhật Bản