Làm cách nào tôi có thể tăng dòng lệnh memory_limit cho PHP bằng MAMP PRO?


13

Tôi đã chỉnh sửa từng chiếc php.initrên máy Mac của mình (ít nhất là tất cả những cái được tìm thấy bởi "định vị") và dường như vẫn không thể tăng memory_limitchỉ thị cho PHP.

Tôi đang sử dụng MAMP PRO và chạy các tập lệnh PHP trong thiết bị đầu cuối.

Làm thế nào để giải quyết điều này?

Câu trả lời:


15

Thay vì đoán php.ini nào bạn cần thay đổi, hãy chạy lệnh này để xác định vị trí tệp:

php -r 'phpinfo();' | grep 'php.ini'

Mặc dù tôi sử dụng MAMP PRO, theo mặc định, các lệnh PHP dòng lệnh của tôi không được thực thi bằng bản sao PHP của chúng. Trong trường hợp của tôi, nó nói rằng tập tin được tìm thấy tại/etc/php.ini

Khi bạn đã định vị tệp, hãy làm theo các hướng dẫn trên tất cả các câu trả lời khác để tăng cài đặt memory_limit:

memory_limit = 256M

1
Tôi đã phải nắm tay cp tập tin mặc định:cp /etc/php.ini.default /etc/php.ini
deweydb

4

Từ http://drupal.org/node/66187 (drupal có thể không liên quan đến nhu cầu của bạn, nhưng trang web của họ có một lời giải thích tốt - muốn cung cấp nó cho bạn và cung cấp tín dụng cho họ)

Theo mặc định, MAMP có giới hạn bộ nhớ mà tập lệnh có thể sử dụng được đặt ở mức 8 MB, là mặc định của PHP. Nhìn vào tệp được đề xuất php.ini của PHP, giới hạn bộ nhớ này thường được đặt ở mức 128MB. Để điều chỉnh số tiền này, hãy mở tệp php.ini trong trình soạn thảo văn bản và thay đổi dòng sau (khoảng trên dòng 232):

bộ nhớ_limit = 8M; Dung lượng bộ nhớ tối đa mà tập lệnh có thể tiêu thụ (8MB)

Vị trí tệp PHP.ini:

/Appluggest/MAMP/conf/php4/php.ini
/Appluggest/MAMP/conf/php5/php.ini
Trong MAMP PRO, không thay đổi tệp trực tiếp vì nó sẽ được tạo lại khi mỗi máy chủ khởi động. Vui lòng chỉnh sửa mẫu thích hợp (menu Tệp> Chỉnh sửa mẫu> ...).

Ngay cả với giới hạn bộ nhớ PHP lớn hơn, bạn có thể gặp lỗi hết thời gian khi cố gắng nhập cơ sở dữ liệu Drupal lớn vào MySQL. Các vấn đề này được thảo luận ở các nơi khác liên quan đến bộ đệm và chế độ xem bộ đệm. Nói chung, giải pháp là làm trống bộ đệm Drupal trước khi nhập / xuất cơ sở dữ liệu sang / từ MySQL.


Không đi, những giới hạn đó đã ở mức 128MB ...
Alex Weber

hmm bạn có pro ... hãy thử chỉnh sửa mẫu thay thế. Rõ ràng tệp php.ini được tạo lại mỗi lần. Hướng dẫn tại đây: document.mamp.info/en/mamp-pro/how-tos/ mẹo Công việc đó? Bạn đang chạy gì trên máy chủ mamp?
dmg

vẫn không có gì, mỗi tệp php.ini tôi có thể tìm thấy (và cả các mẫu) đều có 128MB nhưng php -r "phpinfo ();" | grep memory_limit vẫn trả về memory_limit => 8M => 8M
Alex Weber

2

Đối với tôi, tôi đã làm như sau:

Chỉnh sửa /Applications/MAMP/conf/php5.4.4/php.ini

php.ini.temp

được:

memory_limit = 128M      ; Maximum amount of memory a script may consume (8MB)

Sau đó, trong công cụ tìm kiếm chỉ cần làm cho php.ini và php.ini.temp chỉ đọc cho tất cả người dùng. Bằng cách này, MAMP không thể ghi đè lên nó bằng các tệp mặc định. Khởi động lại máy chủ và kiểm tra phpinfo của bạn.


những điều đơn giản nhất không được chú ý! Cảm ơn ý tưởng này!
kelly johnson

1

Sau khi loay hoay một lúc, một thứ gì đó phù hợp với tôi:

# backup original php.ini
sudo mv /usr/bin/php /usr/bin/php.bkp

# create a symlink from MAMP's php.ini in /usr/bin directory
# (I use 5.2, change the path for 5.3)
sudo ln -s /Applications/MAMP/bin/php/php5.2.17/bin/php /usr/bin/php

Đó!


1

Cách nhanh và bẩn để làm điều này là đặt nó làm đối số khi gọi tập lệnh của bạn.

I E:

php -d memory_limit=512M myScript.php 

0

nếu bạn sử dụng Homebrew , cài đặt php của bạn sẽ ở/usr/local/etc/php/<php version>


0

Nếu bạn có Opcache trong Mamp Pro, bạn sẽ không nhận được cài đặt thích hợp ... dừng lại, khởi động lại máy chủ Mamp Pro của bạn ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.