Làm cách nào để thay đổi giới hạn bộ nhớ của tôi trên nhà soạn nhạc?

Để phát triển cục bộ, tôi sử dụng MAMP và theo mặc định, giới hạn bộ nhớ được đặt thành 128M. Tùy thuộc vào môi trường phát triển của bạn, số của bạn có thể thay đổi

Tôi sẽ sử dụng MAMP trong ví dụ này, nhưng bạn cũng có thể sử dụng các bước này để giúp phát triển Drupal của mình bằng Composer

Khi bạn thấy thông báo lỗi sau, rất có thể bạn gặp vấn đề về giới hạn bộ nhớ và bạn cần tăng nó trong tệp cấu hình PHP

PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted <...>

Để biết giới hạn bộ nhớ hiện tại là bao nhiêu, hãy chạy lệnh sau

php -r "echo ini_get('memory_limit').PHP_EOL;"

Sau khi chạy lệnh, đây là giới hạn bộ nhớ hiện tại của tôi

128M

Vì giới hạn bộ nhớ là 128M nên bạn nên tăng nó lên

Để tăng giới hạn bộ nhớ, chúng ta cần tìm tệp cấu hình PHP. Chúng ta chỉ cần chạy lệnh sau

php --ini

Đây là một ví dụ về những gì bạn nên mong đợi sau khi chạy lệnh

Configuration File (php.ini) Path: /Applications/MAMP/bin/php/php7.0.8/conf
Loaded Configuration File:         /Applications/MAMP/bin/php/php7.0.8/conf/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Đường dẫn đến tệp cấu hình PHP nằm bên cạnh `Tệp cấu hình đã tải`

Trong trình soạn thảo văn bản yêu thích của bạn, hãy mở php. tệp ini. Tìm kiếm memory_limit và tăng giá trị. Ví dụ

Không có gì khó chịu hơn phần mềm lẽ ra phải hoạt động, trong khi nó không. Một trong những điều rất khó chịu đó là vấn đề với nhà soạn nhạc. Một trong những vấn đề đó là thông báo lỗi 'Kích thước bộ nhớ được phép của {số không thể mã hóa} byte đã cạn kiệt'. Để khắc phục điều này, bạn cần vào và chỉnh sửa cấu hình PHP của mình. Nhưng may mắn thay, có một cách thậm chí còn nhanh hơn và đơn giản hơn

Vấn đề ở đây là Composer không có đủ bộ nhớ. Bạn có thể nói, tôi có một chiếc máy tính mạnh mẽ. Vấn đề là gì? . Giá trị này được đặt trong php. tập tin ini. Để thay đổi điều đó, bạn cần đi sâu vào các tệp cấu hình của mình, khởi động lại PHP và chỉ hy vọng rằng nó hoạt động

Nếu bạn đang sử dụng máy Mac và đã cài đặt PHP qua Brew, bạn có thể sử dụng một ứng dụng như PHP Monitor để biết giá của nó là bao nhiêu

Cách khắc phục giới hạn bộ nhớ của nhà soạn nhạc đã cạn kiệt

Để khắc phục điều này, thật tiện lợi khi cho phép sử dụng bộ nhớ không giới hạn. Điều này nghe có vẻ đáng sợ, nhưng nó thực sự không phải vậy. Đó chỉ là một biện pháp phòng ngừa để đảm bảo rằng bạn sẽ không bao giờ đạt đến giới hạn đó nữa

Để cho phép bộ nhớ tối đa, thay vì gõ

128M
3 trước mỗi lệnh, hãy gõ cái này

php -d memory_limit=-1$(which composer)

Vì vậy, lệnh

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

0 sẽ trở thành thế này

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

Hoặc nếu bạn thực sự cần một số khắc phục sự cố mạnh mẽ của Trình soạn thảo, hãy nâng cấp với đầu ra dài dòng hơn, dấu thời gian và cho phép nâng cấp hoặc hạ cấp các phần phụ thuộc

________số 8

Làm cách nào để thay đổi giới hạn bộ nhớ của tôi trên nhà soạn nhạc?

Cho phép sử dụng bộ nhớ không giới hạn của nhà soạn nhạc và PHP

Tạo bí danh

Như bạn thấy, rất dễ khắc phục sự cố bộ nhớ. Nhưng phải gõ cái này trước mỗi lệnh thì hơi rườm rà. Đó là lý do tại sao chúng ta sẽ tạo bí danh cho điều đó. Bí danh là một loại phím tắt trong thiết bị đầu cuối

Chúng tôi sẽ xác định bí danh như sau. mỗi khi chúng tôi gõ

128M
3, hãy thay thế bằng

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

2. Vì vậy, khi bạn gõ

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

0, nó có nghĩa hoàn toàn giống như

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

4. Chỉ ngắn hơn rất nhiều

Cách tạo bí danh cho zsh (macOS Catalina trở lên)

Để tạo bí danh, chúng tôi sẽ cần chỉnh sửa tệp có tên

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

5. Đây là một loại tệp cấu hình và phải có trong thư mục nhà của bạn

Trước tiên, hãy kiểm tra xem tệp có tồn tại không

php -r "echo ini_get('memory_limit').PHP_EOL;"
3

Tiếp theo, thêm đoạn mã sau vào cuối tệp

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

5 của bạn

php -r "echo ini_get('memory_limit').PHP_EOL;"
5

Lưu các tập tin. Các thay đổi hiện sẽ được triển khai trên bất kỳ phiên cuối mới nào. Dừng phiên hiện tại hoặc chạy mã bên dưới, sau đó nó cũng sẽ hoạt động cho phiên hiện tại

php -r "echo ini_get('memory_limit').PHP_EOL;"
6

Cách tạo bí danh cho bash (macOS Mojave trở lên)

Chúng ta cần làm điều gì đó rất giống với

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

7 cũng như đối với

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

8. Lần này, chúng tôi sẽ chỉnh sửa tệp

# Old

composer upgrade -W

 

# New

php -d memory_limit=-1$(which composer) upgrade -W

9. Mở nó (hoặc tạo nó, nếu cần), thủ công hoặc qua thiết bị đầu cuối

128M
0

Bây giờ thêm dòng sau vào cuối tập tin

php -r "echo ini_get('memory_limit').PHP_EOL;"
5

Ở đây cũng vậy, những thay đổi sẽ chỉ áp dụng cho một phiên mới. Vì vậy, hãy dừng phiên hiện tại hoặc chạy mã bên dưới

128M
2

Sự kết luận

Bây giờ, bất cứ khi nào bạn chạy trình soạn nhạc, bạn sẽ không gặp phải bất kỳ sự cố bộ nhớ nào nữa. Bằng cách sử dụng bí danh dòng lệnh, chúng tôi đã tạo một lối tắt rất tiện dụng mà bạn không mất thêm thời gian mà chỉ ngăn ngừa các lỗi trong tương lai

Bạn có gặp sự cố khác với nhà soạn nhạc hoặc có câu hỏi không?

Làm cách nào để đặt giới hạn bộ nhớ trong laravel?

Ngoài ra, bạn có thể thay đổi giới hạn bộ nhớ trong php của mình. ini thông qua cài đặt memory_limit. .
Tôi đã xác nhận một bộ nhớ không giới hạn. memory_limit => -1 => -1. .
Tôi chưa bao giờ đề xuất đặt PHP của bạn thành bộ nhớ không giới hạn. .
php -i đã hiển thị memory_limit => -1 => -1 nhưng trong /etc/php7. .
hãy thử php -v. .
@Azima Vâng, của tôi cũng vậy

Giới hạn bộ nhớ PHP tối đa là bao nhiê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().