Hướng dẫn increasing memory allocated to php - tăng bộ nhớ được phân bổ cho php

Php Memory_Limit là mỗi kịch bản, giống như giới hạn tốc độ của đường cao tốc là phương tiện. Ví dụ, mặc dù giới hạn bộ nhớ PHP có thể được đặt cao thành 1GB, điều đó không có nghĩa là các tập lệnh sẽ chồng chất để sử dụng 1GB đó. Hãy cùng xem nhanh về việc hiểu cài đặt PHP từ bộ nhớ_limit.understanding PHP’s memory_limit setting.

Php memory_limit là cài đặt trên mỗi kịch bản

Các tài liệu của PHP.NET, đặt nó theo cách này:

This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server...

Nguồn: http://php.net/manual/en/ini.core.php#ini.memory-limit

Không giống như nói, MySQL từ KEY_BUFFER_SIZE hoặc Innodb_Buffer_Pool Cài đặt, cài đặt php memory_limit không phải là & nbsp; một không gian lưu trữ trong đó nhiều tập lệnh PHP từ hoặc phát triển bên trong. Thay vào đó, nó có giới hạn A & NBSP; mỗi kịch bản. Php Memory_Limit là lượng bộ nhớ máy chủ tối đa A & NBSP; Single & NBSP; Php script được phép tiêu thụ. Khi bị chặn, đầu ra lỗi kết quả trông giống như thế này:not a storage space where multiple PHP scripts pool from or grow within. Rather it’s a per-script limit. PHP memory_limit is the maximum amount of server memory a single PHP script is allowed to consume. When blocked, the resulting error output looks something like this:

Fatal error: Allowed memory size of x bytes exhausted (tried to allocate x bytes) in /path/to/php/script

Hoặc như thế này:

PHP Fatal error: Out of memory (allocated x) (tried to allocate x bytes) in /path/to/php/script

Vì vậy, ví dụ, nếu hai hoặc nhiều tập lệnh được yêu cầu đồng thời, mỗi tập lệnh hoàn toàn độc lập với chữ cái kia. Họ không chia sẻ cài đặt Memory_Limit. Hãy nhớ rằng, PHP không được thiết kế và không hỗ trợ đa luồng. Do đó, nếu năm (5) tập lệnh PHP đồng thời sử dụng 100MB mỗi tập lệnh, thì tổng số 500MB sử dụng bộ nhớ PHP và giới hạn bộ nhớ PHP là 128M sẽ bị ảnh hưởng.

Điều đó nói rằng, đối với các tập lệnh yêu cầu các tập lệnh PHP khác trực tuyến bằng cách sử dụng yêu cầu, bao gồm hoặc bao gồm_once, giới hạn này sau đó được kế thừa và chia sẻ bởi tất cả các tập lệnh được bao gồm phụ thuộc vào tập lệnh chính.

Câu lệnh bao gồm tất cả các văn bản/mã/đánh dấu tồn tại trong tệp được chỉ định và sao chép nó vào tệp sử dụng câu lệnh bao gồm. Hàm yêu cầu () giống hệt nhau để bao gồm (), ngoại trừ việc nó xử lý các lỗi khác nhau. Nếu xảy ra lỗi, hàm bao gồm () sẽ tạo cảnh báo, nhưng tập lệnh sẽ tiếp tục thực thi. Yêu cầu () tạo ra một lỗi nghiêm trọng và tập lệnh sẽ dừng lại. - Trường học W3S.

Câu lệnh abor_once () giống hệt với yêu cầu () ngoại trừ PHP sẽ kiểm tra xem tệp đã được bao gồm và nếu vậy, không bao gồm (yêu cầu) một lần nữa. - Php.net

Hướng dẫn increasing memory allocated to php - tăng bộ nhớ được phân bổ cho php

Php Memory_Limit là mỗi kịch bản, giống như giới hạn tốc độ của đường cao tốc là phương tiện.

Bây giờ liên quan đến ví dụ ban đầu được đề cập ngay từ đầu. Cài đặt thấp hơn 128m luôn tốt hơn vì nếu các tập lệnh PHP đang cố gắng sử dụng hơn 128m, các tập lệnh đó giờ đây sẽ trả về các lỗi giới hạn bộ nhớ. Trong vấn đề trên, đó không phải là trường hợp, vì vậy, bất kể cài đặt 128m hoặc 1G Memory_limit, nó chỉ phát huy tác dụng nếu có tập lệnh không hiệu quả.

May mắn thay, cài đặt PHP Memory_Limit sẽ chặn mã không hiệu quả, sau đó cảnh báo bạn để tối ưu hóa mã của mình. Cho đến khi được sửa, bạn có thể muốn tăng tạm thời Php Memory_Limit để tránh ứng dụng web của bạn trở nên không thể sử dụng do các lỗi ngoài bộ nhớ của PHP.

Nếu bạn không có bộ nhớ có sẵn trên máy chủ của mình, đôi khi bạn sẽ phải đối mặt với việc quyết định có nên tăng bộ nhớ php_limit để đáp ứng các yêu cầu của tập lệnh hay để tối ưu hóa mã của bạn hay không. Sẽ là tốt nhất nếu bạn luôn được tối ưu hóa là tùy chọn ưa thích khi có thể. Ngoài ra, bạn có thể tăng giới hạn bộ nhớ PHP cho các trang web cụ thể. Một phương pháp sẽ là đặt một tệp php.ini trong trang web Webroot. Bạn thậm chí có thể đặt giới hạn cho scriptName.php cụ thể. Ví dụ: sử dụng ini_set (‘memory_limit, thì 256MB,).

Cách tăng php & nbsp; memory_limitmemory_limit

Để tăng cài đặt giới hạn bộ nhớ PHP, hãy chỉnh sửa tệp php.ini của bạn. Tăng giá trị mặc định (Ví dụ: Lượng bộ nhớ tối đa Một tập lệnh có thể tiêu thụ = 128MB) của dòng giới hạn bộ nhớ PHP trong php.ini.memory limit line in php.ini.

memory_limit = 256M

Ngoài ra, bạn có thể chỉnh sửa tệp .htaccess của mình (không được khuyến nghị. Xem: Hiệu suất Apache: Tắt .htaccess)

php_value memory_limit 256M

Nếu bạn không có quyền truy cập vào các tệp này hoặc thiếu kinh nghiệm để thực hiện thay đổi này, bạn có thể liên hệ với máy chủ web của mình và yêu cầu họ tăng giới hạn bộ nhớ PHP của bạn.

Xuất bản lần đầu: ngày 18 tháng 9 năm 2017. Cập nhật lần cuối: ngày 19 tháng 8 năm 2021
Last updated: August 19th 2021

Tags: bộ nhớ, hiệu suất, PHP

Giới hạn bộ nhớ tối đa cho PHP là gì?

Giới hạn bộ nhớ mặc định là 256m và điều này thường quá đủ cho hầu hết các nhu cầu. Nếu bạn cần tăng giới hạn này, bạn phải tạo tệp PHPRC.256M and this is usually more than sufficient for most needs. If you need to raise this limit, you must create a phprc file.

Làm cách nào để tăng giới hạn bộ nhớ trong WP

Chỉnh sửa WP-Config của bạn. Mở tệp wp-config.php và tìm kiếm chuỗi văn bản này: xác định ('wp_memory_limit', '32m'); sau đó, sửa đổi nó để đọc xác định ('wp_memory_limit', '128m'); Bạn có thể lên cao tới 256MB, nhưng trong hầu hết các trường hợp, bạn sẽ không cần nhiều bộ nhớ này.Open the wp-config. php file and search for this text string: define('WP_MEMORY_LIMIT', '32M'); Then, modify it to read define('WP_MEMORY_LIMIT', '128M'); You can go as high as 256MB, but in most cases, you won't need this much memory.

Làm cách nào để tăng giới hạn bộ nhớ của trang web của tôi?

Bạn có thể tăng giới hạn bộ nhớ máy chủ của mình bằng cách làm theo bất kỳ trong số năm phương thức được đề cập dưới đây ...
Đề xuất nhất: Chỉ cần liên hệ với máy chủ của bạn.....
Tăng giới hạn bộ nhớ thông qua tệp php.ini.....
Thay thế để chỉnh sửa php.ini thông qua wp-config.php.....
Thay đổi giới hạn bộ nhớ trong wp-config.php.....
Sửa đổi tệp .htaccess ..

Làm cách nào để sửa lỗi cho phép Fatal Fatal cho phép Kích thước bộ nhớ 8388608 đã cạn kiệt?

23 bình luận..
Thêm ini_set (Memory Memory_Limit ,, 16m,);Để bắt đầu tệp PHP riêng lẻ của bạn gây ra lỗi.Ví dụ, nếu chỉ mục.PHP đang gây ra lỗi, thêm vào đầu chỉ mục.....
Thay đổi bộ nhớ_limit = dòng trong PHP của bạn.Tệp INI.....
Thêm dòng memory_limit = dòng vào của bạn.Tệp HTAccess (hoặc tạo A ..