Mặc dù đây là một bài đăng cũ, bạn tìm thấy nó dễ dàng thông qua google khi tìm kiếm một giải pháp để xử lý các tệp tải lên lớn bằng PHP. Tôi vẫn không chắc liệu các tệp tải lên có làm tăng giới hạn bộ nhớ hay không nhưng tôi nghĩ rằng có khả năng tốt là chúng. Trong khi tìm kiếm một giải pháp cho vấn đề này, tôi đã tìm ra những nguồn mâu thuẫn. Hướng dẫn sử dụng PHP nêu rõ
post_max_size: Đặt kích thước tối đa của dữ liệu bài được cho phép. Cài đặt này cũng ảnh hưởng đến việc tải lên tệp. Để tải lên các tệp lớn, giá trị này phải là lớn hơn upload_max_filesize. Nếu giới hạn bộ nhớ được bật bởi tập lệnh định cấu hình của bạn, memory_limit cũng ảnh hưởng đến việc tải lên tệp. Nói chung, hãy nói , memory_limit phải là lớn hơn post_max_size. (http://php.net/manual/en/ini.core.php)
... có nghĩa là giới hạn bộ nhớ của bạn phải lớn hơn tệp bạn muốn tải lên.Tuy nhiên, một người dùng khác (ragtime tại alice-dsl dot com) tại địa chỉ php.net:
Tôi không tin rằng huyền thoại 'memory_size' phải là kích thước của tệp được tải lên. Các tệp là chắc chắn không được lưu trong bộ nhớ ... thay vì các khối được tải lên 1MB mỗi được lưu trữ trong/var/tmp và sau đó là xây dựng lại dưới/tmp trước khi di chuyển đến không gian web/người dùng.
Tôi đang chạy hộp linux chỉ có RAM 64MB , đặt memory_limit thành 16MB và tải lên các tệp có kích thước khoảng 100MB hoàn toàn không có vấn đề gì! (http://php.net/manual/en/features.file-upload.php)
Anh ấy báo cáo một số vấn đề liên quan khác với bộ thu gom rác nhưng cũng nêu rõ cách chúng có thể được giải quyết. Nếu điều đó đúng, kích thước tệp đã tải lên cũng có thể tăng giới hạn bộ nhớ. (Lưu ý, tuy nhiên, một điều khác có thể là xử lý tệp được tải lên - sau đó bạn có thể phải tải tệp đó vào bộ nhớ)
Tôi đang viết điều này trước khi tôi thử xử lý các tệp tải lên lớn với bản thân PHP vì tôi đang đánh giá sử dụng php hoặc python cho tác vụ này.
Nguồn
2011-03-12 11:28:06