2011-09-27 31 views
8

Tôi đang gặp phải một vấn đề rất phổ biến mà dường như tất cả các giải pháp có sẵn không hoạt động.Thiết lập lại kết nối PHP khi tải lên tệp lớn Bất kể thiết lập chính xác

Chúng tôi có một máy chủ LAMP đang nhận được lưu lượng truy cập cao. Sử dụng máy chủ này, chúng tôi thực hiện tải lên tệp thông thường. Trên các tệp tải lên nhỏ, nó hoạt động hoàn hảo. Trên các tệp có dung lượng khoảng 4-5MB, quá trình tải lên tệp này không liên tục (đôi khi nó hoạt động nhưng nhiều lần không thành công).

Chúng tôi có cấu hình như sau về PHP của chúng tôi:

max_input_time: 600 
max_execution_time: 600 
max_upload_size: 10M 
post_max_size: 10M 

Apache thiết lập:

Timeout: 600 
Keep-Alive Timeout: 15 
Keep-Alive: On 
Per Child: 1000 
Max Conn: 100 

Vì vậy, tôi tự hỏi nếu có ai có thể giúp tôi với điều này. Chúng tôi đã tìm thấy các vấn đề và giải pháp trực tuyến nhưng không ai trong số họ làm việc trong trường hợp của chúng tôi.

Cảm ơn bạn rất nhiều. Bất kỳ đầu vào/phản hồi nào được đánh giá cao!

+0

mảng $ _FILES sẽ cho bạn biết lỗi. –

+2

@Dagon Thật không may, chúng tôi thậm chí không thể sản xuất $ _FILES vì ở giữa quá trình tải lên, lỗi đặt lại kết nối được hiển thị. –

+0

nếu bạn đang sử dụng php-fpm sau đó thay đổi 'upload_max_filesize = 10M' (KHÔNG' max_upload_size: 10M') bên trong '/ etc/php5/fpm/php.ini' (KHÔNG'/etc/php5/cli/php.ini') .vì vậy nếu bạn đang chạy nginx thêm 'client_max_body_size 200M;' bên trong phần http của '/ etc/nginx/nginx.conf' – alex

Trả lời

6

Kết nối coud được chấm dứt tại một số nơi:

  1. Apache
  2. bài kích thước giới hạn bên trong php.ini
  3. Memory giới hạn bên trong php.ini
  4. thời hạn Input bên trong php .ini
  5. Giới hạn thời gian thực hiện bên trong php.ini hoặc set_time_limit()

Tôi sẽ tăng tất cả những điều này, và xem liệu nó vẫn còn tồn tại. Nhưng bạn sẽ phải trả lại apache cho những thay đổi bên trong của php.ini để có hiệu lực.

Đây cũng bị ảnh hưởng bởi loại tốc độ kết nối mà người dùng cuối có, nếu không có người dùng nhất định, vì kết nối của họ chậm hơn người khác và kết nối của họ với máy chủ đang kết thúc.

Các vấn đề liên quan