Giới hạn bộ nhớ tối đa cho php là bao nhiêu?

PHP memory_limit là dung lượng bộ nhớ máy chủ tối đa mà mỗi tập lệnh PHP được phép sử dụng

Theo tài liệu PHP

“Điều này đặt lượng bộ nhớ tối đa theo byte mà tập lệnh được phép phân bổ. Điều này giúp ngăn các tập lệnh được viết kém chiếm hết bộ nhớ khả dụng trên máy chủ. ”

Giá trị mặc định là 128MB. Thông thường, điều này được nâng lên tùy thuộc vào dung lượng bộ nhớ cần thiết cho ứng dụng web

Khi tập lệnh PHP vượt quá giới hạn, bạn sẽ gặp lỗi tương tự như ví dụ sau

Fatal error: Allowed memory size of x bytes exhausted [tried to allocate x bytes] in /example/php/script
PHP Fatal error: Out of memory [allocated x] [tried to allocate x bytes] in /example/php/script

Bạn có thể tăng memory_limit bằng cách chỉnh sửa php. tập tin ini. Bạn nên tìm một dòng bắt đầu bằng memory_limit

memory_limit = 256M

Xin lưu ý rằng máy chủ có giới hạn bộ nhớ vật lý. Bạn nên tối ưu hóa mã của mình nếu tham số memory_limit đã được đặt quá cao

©2020 Rackspace US, Inc

Trừ khi có ghi chú khác, nội dung trên trang web này được cấp phép theo Creative Commons Attribution-NonCommercial-NoDerivs 3. 0 Giấy phép chưa chuyển đổi

PHP memory_limit giống như giới hạn tốc độ đường cao tốc cho mỗi phương tiện. Và đường cao tốc có thể có vô số làn đường [quy trình song song] và vô số ô tô. Giới hạn bộ nhớ PHP là dung lượng bộ nhớ tối đa mà một quy trình PHP được phép sử dụng. Một quy trình PHP thường có nghĩa là một lần xem trang cụ thể.  

Giới hạn bộ nhớ không giống như RAM

Mặc dù RAM là tổng bộ nhớ khả dụng, nhưng giới hạn bộ nhớ dành cho mỗi quy trình PHP. Điều đó có nghĩa là trang web của bạn có thể tiêu thụ điện. g 10 GB RAM, với giới hạn bộ nhớ là 256 MB. Chúng tôi không giới hạn dung lượng RAM bạn có thể sử dụng, chỉ giới hạn bộ nhớ

Cách làm việc với giới hạn bộ nhớ

Mặc dù có vẻ như là một giải pháp tốt để tăng tối đa giới hạn bộ nhớ, nhưng đó không phải là một quyết định sáng suốt. Bộ nhớ là một trong những thứ dễ bị lạm dụng nhất, do lỗi, mã viết kém, v.v. Bạn có thể dễ dàng, với một vài dòng PHP được viết kém, tôi. vòng lặp không bao giờ kết thúc, hãy sử dụng nhiều gigabyte bộ nhớ cho mỗi lần xem trang. Giả sử bạn sử dụng 1 GB bộ nhớ cho mỗi lần xem trang, điều đó có nghĩa là 1 GB cho mỗi khách truy cập vào trang web của bạn. Thêm vài trăm khách truy cập vào trang web của bạn và bạn sẽ tiêu tốn hàng trăm gigabyte bộ nhớ

Đó là lý do tại sao bạn phải luôn đặt giới hạn bộ nhớ ở mức thấp nhất có thể, vì cài đặt này tích cực giúp bạn mở rộng quy mô. Có giới hạn bộ nhớ càng thấp càng tốt cũng sẽ đảm bảo rằng nếu bạn gặp lỗi trong hệ thống, nó sẽ không ảnh hưởng đến khả năng mở rộng trang web của bạn nhiều như khi bạn tối đa hóa giới hạn bộ nhớ

Giới hạn bộ nhớ PHP tối đa trên Servebolt

Trang web của bạn sẽ có giới hạn tối đa là 1024 MB [1 GB] khi được truy cập qua máy chủ web qua http hoặc https và khi bạn đạt đến giới hạn đó, đã đến lúc bắt đầu làm việc trên ứng dụng của bạn để khắc phục sự cố không thể mở rộng với ứng dụng đó

Thông qua Dòng lệnh [CLI], bạn có thể sử dụng Giới hạn bộ nhớ PHP là 2560 MB. Tuy nhiên, tùy thuộc vào trang web và mã của bạn, giới hạn này có thể được hạ xuống. Giới hạn bộ nhớ PHP được giới hạn tùy thuộc vào Gói Bolt của bạn. Để xem có bao nhiêu MB CLI được phép chạy trên trang web của bạn, hãy chạy cái này qua SSH

php -i | grep "memory_limit"

Điều gì xảy ra khi tôi vượt quá Giới hạn bộ nhớ PHP?

Khi yêu cầu trang qua http hoặc https vượt quá Giới hạn bộ nhớ PHP, người dùng có thể sẽ gặp phải màn hình trắng chết chóc hoặc nhận được thông báo 500 Internal Server Error. Những lỗi như vậy được ghi vào nhật ký lỗi PHP của bạn và thông báo sẽ có nội dung như

Fatal error: Allowed memory size of 134217728 bytes exhausted [tried to allocate 44 bytes] in [filename]

Số byte có thể được chuyển đổi thành MB bằng cách chia hai lần cho 1024. Ví dụ này chuyển thành giới hạn bộ nhớ là 128MB

Khi điều này xảy ra, bạn có hai lựa chọn. Bạn có thể tăng giới hạn bộ nhớ PHP để cho phép sử dụng bộ nhớ cao hơn hoặc tối ưu hóa ứng dụng của bạn [ví dụ: WordPress] để sử dụng ít bộ nhớ hơn

Một điều khá phổ biến là nó không giúp tăng giới hạn bộ nhớ và PHP sẽ sử dụng hết giới hạn mà vẫn không thành công. Nếu đúng như vậy, bạn có lỗi trong ứng dụng làm cạn kiệt bộ nhớ

Chỉ cạn kiệt bộ nhớ đối với một số trang nhất định

Hết bộ nhớ PHP thường xảy ra theo yêu cầu. Điều đó có nghĩa là nó thường không áp dụng cho tất cả các trang trên trang web của bạn. Ví dụ: bạn có thể thấy rằng một trang quản trị duy nhất đang tạo ra lỗi này hoặc một trang danh mục lớn bị lỗi trên trang web Thương mại điện tử của bạn. Nếu đó là trường hợp và các trang khác hoạt động bình thường, bạn thường có thể chắc chắn rằng đó là mã liên quan đến việc xây dựng trang cụ thể đó cần tối ưu hóa

Giới hạn bộ nhớ PHP liên quan đến hiệu suất như thế nào?

Tăng giảm PHP Memory Limit không ảnh hưởng đến tốc độ website. Nó chỉ xác định liệu quy trình PHP có hoàn thành thành công hay không và gửi phản hồi cho khách truy cập. Giới hạn bộ nhớ PHP có ảnh hưởng đến khả năng mở rộng, vì dung lượng RAM khả dụng luôn là một tài nguyên hạn chế

Hãy cho chúng tôi thông tin phản hồi của bạn về bài viết này

Bằng cách cung cấp cho chúng tôi thông tin phản hồi, bạn có thể giúp chúng tôi cung cấp nội dung tốt hơn về chủ đề này trong tương lai. Điều này đã giúp bạn?

Vâng, điều này đã giúp

Không, điều này không giúp được gì

Servebolt đã ra mắt Tên miền tăng tốc

Tên miền tăng tốc là một dịch vụ giúp cải thiện và tối ưu hóa đáng kể trang web của bạn trên bốn lĩnh vực này. Hiệu suất, Khả năng mở rộng, Bảo mật và lượng khí thải Carbon của trang web của bạn

Tôi nên cung cấp bao nhiêu bộ nhớ cho PHP?

Bạn nên đặt giới hạn bộ nhớ PHP thấp nhất có thể trong khi vẫn cho phép trang web của mình hoạt động bình thường. 128 MB là mức cơ sở tốt . Đó là một lượng bộ nhớ kha khá sẽ xử lý hầu hết các plugin chuyên sâu. Nếu bạn biết mình sẽ cần thêm sức mạnh, 256 MB sẽ bao gồm cả những plugin nặng nhất.

Tôi có thể xem giới hạn bộ nhớ PHP ở đâu?

Theo mặc định, tập lệnh PHP có thể phân bổ tối đa 128 megabyte bộ nhớ. Để xác minh giá trị hiện tại của chỉ thị memory_limit và các chỉ thị khác, bạn có thể sử dụng hàm phpinfo[] .

PHP 8 có sử dụng nhiều bộ nhớ hơn không?

Với PHP 7. 4 trở về trước, mức sử dụng bộ nhớ của WordPress là khoảng 2-8 MB. Với PHP 8. 1, mức sử dụng bộ nhớ WP đã tăng lên hơn 28-30 MB . Vì giới hạn bộ nhớ WP [mặc định] là 40 MB, với 30 MB, mức này hiện khá gần với giới hạn.

Mỗi quy trình PHP tiêu thụ bao nhiêu bộ nhớ?

Giới hạn bộ nhớ không giống như RAM . Điều đó có nghĩa là trang web của bạn có thể tiêu thụ điện. g 10 GB RAM , với giới hạn bộ nhớ là 256 MB.

Chủ Đề