2 Câu hỏi: Tải dữ liệu lên máy chủ Apache liên tục thất bại nếu tải lên kéo dài hơn 20 giây

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Tôi có một trang web nơi người dùng có thể tải hình ảnh lên máy chủ lưu trữ Apache /PHP của tôi. Nếu các tệp tải lên kéo dài dưới 20 giây thì mọi thứ đều ổn. Nhưng nếu nó kéo dài hơn (bất kể kích thước tệp hình ảnh là gì), tải lên không thành công.

Trong .htaccess tôi đã có:

php_value upload_max_filesize 10M
php_value post_max_size 70M
php_value max_execution_time 180
php_value max_input_time 180

Và trong tập lệnh php, kết quả truy xuất lại của:

echo "-max_execution_time  ".ini_get('max_execution_time');
echo "-max_input_time ".ini_get('max_input_time');
echo "-upload_max_filesize  ".ini_get('upload_max_filesize');
echo "-post_max_size  ".ini_get('post_max_size');
echo "-memory_limit   ".ini_get('memory_limit');

là ngoại trừ:

-max_execution_time  180

-max_input_time 180

-upload_max_filesize  10M

-post_max_size  70M

-memory_limit   128M

Đây là những yêu cầu - tất cả đều thất bại sau 22 giây với lỗi mạng :: ERRinksDY_PROTOCOL_ERROR (trong firefox họ thất bại sau 20 giây)

https://cdn1.imggmi.com//2019/5/8/fadd31a1a22674cfc3cc4603c97762ff-full.jpg

nhật ký giao diện điều khiển

Tôi đang thiếu gì ở đây ??? Một lần nữa, nếu thời gian tải lên ít hơn 20 giây - mọi thứ đều ổn ...

    
1
  1. max_input_time của bạn được đặt thành php.ini
    2019-05-08 15: 48: 12Z
  2. Nếu PHP đang chạy dưới dạng FastCGI hoặc FPM, thì cũng có thêm thời gian chờ ở cấp độ này. Bạn có toàn quyền kiểm soát thiết lập máy chủ của mình không?
    2019-05-09 02: 52: 02Z
  3. Nếu nó đang sử dụng FPM (nếu đó là một thiết lập khá mới), hãy kiểm tra điều này: stackoverflow.com/questions /40360922 /khăn
    2019-05-09 02: 53: 39Z
2 Câu trả lời                              2                         

Có thể Vấn đề này xuất phát từ Chỉ thị "Hết giờ" trong tệp httpd.conf apache.

Xem tại đây: https://httpd.apache.org/docs /2.4 /mod /core.html # thời gian chờ

    
0
2019-05-08 17: 30: 05Z
  1. @ RiggsFolly Tôi không thấy httpd.conf trong cpanel /file_manager của tôi - có vẻ như tôi không thể truy cập vào nó ... cài đặt này có sẵn cho tôi: cdn1.imggmi 2019/5/8 /Đổi
    2019-05-08 18: 53: 47Z
  2. Theo như tôi biết, tệp httpd.conf không thể truy cập được trong các máy chủ lưu trữ được chia sẻ. nhưng có lẽ bạn có thể liên hệ với bộ phận hỗ trợ lưu trữ của mình.
    2019-05-08 19: 18: 08Z

20 giây có thể có nghĩa là mod numqtimeout mô-đun Apache có thể là thứ giết chết yêu cầu của bạn vì đó là một trong những mặc định (20 giây để nhận thân yêu cầu) nếu các tùy chọn không được định cấu hình.

https://httpd.apache.org/docs/trunk/mod /mod numqtimeout.html

Tôi tin rằng mod numqtimeout là tiện ích mở rộng được tải tự động với Apache 2.4

    
0
2019-05-08 20: 45: 40Z
  1. Có cách nào tôi có thể đọc giá trị này ... bằng cách sử dụng php echo, vì tôi không thể truy cập cài đặt Apache (có thể vì lưu trữ được chia sẻ)? Đây là nhật ký từ một trong những thất bạiyêu cầu /Khác
    2019-05-08 22: 25: 13Z
  2. Tôi không nghĩ bạn có thể dễ dàng thấy cấu hình Apache hiện tại của mình bằng PHP. Xem nếu máy chủ của bạn cho phép các tập tin htaccess mặc dù. Nếu vậy, bạn có thể định cấu hình reqtimeout_module thông qua đó
    2019-05-08 22: 31: 06Z
  3. Tôi đã cố gắng đưa <IfModule reqtimeout_module> RequestReadTimeout header=0 RequestReadTimeout body=0 </IfModule> vào .htaccess nhưng sau đó tôi gặp Lỗi máy chủ nội bộ
    2019-05-08 23: 37: 13Z
  4. Điều đó thường có nghĩa là apache gặp lỗi cú pháp với cấu hình của bạn (tệp htaccess). Bạn có chắc chắn đã không nhập tất cả trong 1 dòng không?
    2019-05-09 00: 24: 20Z
nguồn đặt đây