Hướng dẫn ubuntu change php memory limit - ubuntu thay đổi giới hạn bộ nhớ php

Câu hỏi

Xin chào

Tôi đang sử dụng một giọt 1GB với hạt nhân hiện tại: Ubuntu 14.04 x64 Vmlinuz-3.13.0-24-Generic (1221)

Sử dụng phpinfo (), tôi đã xác định tệp php.ini hiện đang được tải và đã cập nhật thuộc tính Memory_Limit lên 512m từ 128.

Tệp này là /etc/php5/fpm/php.ini

Mặc dù thực hiện thay đổi này (và tất nhiên là khởi động lại các dịch vụ NGINX và PHP5 -FPM - cũng như khởi động lại toàn bộ máy chủ sau mỗi lần thay đổi), giá trị được hiển thị trong phpinfo () vẫn ở mức 128m

Những thứ khác mà tôi đã thử (một lần nữa, đã khởi động lại/khởi động lại các dịch vụ):

  • Thêm các giá trị sau vào /etc/php5/fpm/php-fpm.conf
php_admin_value[memory_limit] = 512M
php_value[memory_limit] = 512M
  • Thêm tệp user.ini trong /etc/php5/fpm/conf.d/ (vì thư mục này được quét cho các tệp cấu hình khác) - và thêm bộ nhớ_limit với bộ nhớ 512m

  • Chỉnh sửa /etc/php5/cli/php.ini với cùng giá trị 512m, mặc dù tệp này không được sử dụng.

  • Thêm tệp php.ini với giá trị bộ nhớ được cập nhật bên trong gốc của thư mục trang web

Tôi hoàn toàn bối rối, và nếu ai đó có thể cung cấp bất kỳ hiểu biết nào hoặc các bước khắc phục sự cố hơn nữa, tôi sẽ rất đánh giá cao!

Cảm ơn


Gửi câu trả lời

Hộp văn bản này mặc định sử dụng Markdown để định dạng câu trả lời của bạn.Markdown to format your answer.

Bạn có thể nhập! Tham khảo trong khu vực văn bản này để nhanh chóng tìm kiếm bộ hướng dẫn, tài liệu & thị trường của chúng tôi và chèn liên kết!!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Đăng nhập hoặc đăng ký để trả lời


Những câu trả lời này được cung cấp bởi cộng đồng của chúng tôi. Nếu bạn thấy chúng hữu ích, hãy thể hiện một số tình yêu bằng cách nhấp vào trái tim. Nếu bạn gặp vấn đề để lại nhận xét, hoặc thêm câu trả lời của riêng bạn để giúp đỡ người khác.

Bạn có thể làm bất cứ điều gì từ dòng lệnh nếu bạn thực sự đầu tư vào việc giải quyết vấn đề. Tuy nhiên, đối với những gì bạn muốn làm, một vài lệnh đơn giản có thể giúp bạn hoàn thành mục tiêu:

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
1,
grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
2 và lý tưởng nhất là
grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
3.

Để xem giá trị hiện tại của một cái gì đó, hãy sử dụng

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
1:

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini

Hãy chắc chắn thay thế

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
5 bằng bất kỳ phiên bản nào bạn muốn xem tại thời điểm đó.

Để thay thế một giá trị hiện có, hãy sử dụng

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
2:

sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini

Một lần nữa, thay thế

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
5 bằng phiên bản bạn muốn cập nhật và bit
grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
8 vô lý với giá trị thực tế bạn muốn đặt.

Khi điều này được thực hiện, hãy khởi động lại Apache với:

sudo service apache2 restart

Bây giờ bạn có tất cả các yếu tố cơ bản cần thiết để viết một tập lệnh tùy chỉnh để hoàn thành mục tiêu của bạn và, có lẽ, đi xa hơn một chút bằng cách làm cho nó hoạt động với bất kỳ cài đặt hợp lệ nào. Ví dụ:

./setPHPvariable 7.4 memory_limit 128M
./setPHPvariable 7.2 max_execution_time 300

Lưu ý rằng đó là một ý tưởng tốt để tạo bản sao lưu của tệp

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
9 trước khi thực hiện các thay đổi. Đây là nơi
grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
3 là bạn của bạn.

Tôi đang chạy tập lệnh PHP qua thiết bị đầu cuối và tôi nhận được thông báo lỗi này

sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
1.

Vì vậy, sau đó tôi đã thêm

sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
2 vào tệp PHP và điều đó không hoạt động. Sau đó, tôi chạy
sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
3 để xem tệp CLI đã tải nào (/etc/php/7.4/cli/php.ini) đang được sử dụng và sau khi chỉnh sửa tệp nói rằng tôi thấy rằng không có giới hạn bộ nhớ được đặt trong đó
sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
4

Tôi không biết chuyện gì đang xảy ra (không phải là người hiểu biết rất nhiều). Nó đang vẽ kết luận rằng nó chỉ có 512m bộ nhớ có sẵn?

EDIT #1: Tôi cũng đã thực hiện một

sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
5 cho biết tệp
grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
9 là tại
sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
7, vì vậy tôi cũng đã chỉnh sửa tệp đó, vẫn nhận được kết quả tương tự (khởi động lại Apache và cũng bắt đầu một cửa sổ Terminal mới)
: I also did a
sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
5 which said the
grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
9 file is at
sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
7 so I edited that file as well, still getting the same result (restarted apache and initiated a new terminal window as well)

Chỉnh sửa #2: Tập lệnh được chạy bởi

sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
8: the script is run by
sed -i 's,^memory_limit =.*$,memory_limit = 8192M,' /etc/php/7.4/apache2/php.ini
8

Ubuntu 20, Php 7.4

PHP đặt giới hạn về số lượng tập lệnh PHP bộ nhớ được phép sử dụng để tập lệnh sử dụng nhiều bộ nhớ sẽ không làm giảm hệ thống. PHP sẽ thoát và ném lỗi sau khi đạt đến giới hạn;

PHP Fatal error: Allowed memory size of xxxx bytes exhausted (tried to allocate yyyy) in yourscript.php

Hướng dẫn ubuntu change php memory limit - ubuntu thay đổi giới hạn bộ nhớ php

Bạn có thể tăng giới hạn bộ nhớ nếu các tập lệnh PHP của bạn yêu cầu để tránh lỗi. Một số phương pháp để tăng giới hạn bộ nhớ trong PHP đang định cấu hình tệp php.ini hoặc .htaccess và sử dụng hàm ini_set (). CPanel cung cấp tùy chọn để định cấu hình giới hạn bộ nhớ PHP từ giao diện web.

Các phương pháp để tăng giới hạn bộ nhớ PHP:

Tăng giới hạn bộ nhớ PHP thông qua tệp (php.ini)

Phương pháp này sẽ áp dụng cho tất cả các tập lệnh PHP chạy trong hệ thống. Đó là một phương pháp tốt để làm theo nếu bạn không lưu trữ nhiều hệ thống trong một máy chủ duy nhất.

  1. Mở tệp cấu hình PHP bằng trình soạn thảo văn bản ưa thích của bạn.

    $ sudo vi /etc/php/7.2/apache2/php.ini

  2. Tìm kiếm Chỉ thị Memory_Limit trong tệp cấu hình.

    ; Maximum amount of memory a script may consume (128MB)
    ; http://php.net/memory-limit
    memory_limit = 128MB

  3. Đặt giá trị giới hạn bộ nhớ với đơn vị thích hợp.

    ; Maximum amount of memory a script may consume (128MB)
    ; http://php.net/memory-limit
    memory_limit = 512MB

  4. Khởi động lại máy chủ web của bạn để các thay đổi có hiệu lực.

Tăng giới hạn bộ nhớ PHP thông qua .htaccess

Để làm cho cài đặt chỉ hiệu quả cho một thư mục (hoặc dự án) nhất định, bạn có thể sử dụng tệp .htaccess để thực hiện thủ thuật. Để thực hiện việc này, định vị (hoặc tạo) .htaccess tệp trong thư mục tập lệnh PHP của bạn và thêm dòng sau;

php_value memory_limit 512MB

Tăng giới hạn bộ nhớ PHP thông qua hàm ini_set ()

Đây có lẽ là phương pháp tốt nhất vì cài đặt chỉ áp dụng cho tập lệnh cụ thể và sẽ không cho phép các tập lệnh được viết kém khác tiêu thụ và lãng phí bộ nhớ của hệ thống.

Để làm điều này, thêm dòng sau trong tập lệnh PHP của bạn;

grep '^memory_limit ' /etc/php/7.4/apache2/php.ini
0

Tăng giới hạn bộ nhớ PHP cho cPanel

Bạn không có quyền truy cập vào tệp cấu hình của PHP nếu bạn lưu trữ hệ thống của mình trong cPanel, nhưng CPanel cung cấp tùy chọn để thay đổi cài đặt từ bảng điều khiển quản trị viên của nó.

Hướng dẫn ubuntu change php memory limit - ubuntu thay đổi giới hạn bộ nhớ php

Thảo luận về bài viết:

Nhận xét ẩn danh. Đăng nhập không bắt buộc.

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

Xác định vị trí PHP.Tệp INI được sử dụng bởi máy chủ web của bạn.Bạn có thể nhấp vào liên kết "Thông tin thêm" trên phần PHP của Trạng thái Drupal.....
Chỉnh sửa tham số Memory_Limit trong PHP.Tệp INI (thường trong một phần gọi là giới hạn tài nguyên).Hãy chắc chắn rằng bạn sử dụng M để chỉ định số lượng megabyte (không phải MB).....
Khởi động lại Apache ..

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 để kiểm tra giới hạn bộ nhớ PHP của tôi?

php $ memory_limit = ini_get ('memory_limit');if (preg_match ('/^(\ d+) (.) $//$memory_limit = ini_get('memory_limit'); if (preg_match('/^(\d+)(.)$/

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

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.