Hướng dẫn ftp_rawlist php_connect_nonb() failed: operation now in progress (115) - ftp_rawlist php_connect_nonb () không thành công: hoạt động hiện đang được tiến hành (115)

17

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Chúng tôi gửi một số tệp qua bên thứ ba với công việc php cron qua FTP.

Tuy nhiên, đôi khi chúng tôi gặp lỗi sau:

ErrorException [ 2 ]: ftp_put[]: php_connect_nonb[] failed: Operation 
now in progress [115] ~ MODPATH/fileop/classes/Drivers/Fileop/Ftp.php [ 37 ]

Khi tôi nói "đôi khi" ý tôi là chính xác như vậy; Hầu hết các lần nó đi qua tốt nhưng khoảng 1 trong 5 lần chúng tôi gặp lỗi đó. Nó không liên quan đến chính các tệp, bởi vì chúng sẽ vui vẻ nếu chúng ta thử lại.

Chúng tôi đã tìm thấy các vấn đề tương tự trực tuyến - liên quan đến lỗi trong PHP với các thiết bị NAT hoặc liên quan đến cấu hình tường lửa nhưng một lần nữa ngụ ý là nếu đây là trường hợp nó sẽ không bao giờ hoạt động.

Vì vậy, tại sao điều này sẽ hoạt động một số lần chứ không phải những người khác?

Đã hỏi ngày 28 tháng 3 năm 2013 lúc 17:27Mar 28, 2013 at 17:27

Mikey Cmikey cMikey C

3161 Huy hiệu vàng3 Huy hiệu bạc13 Huy hiệu đồng1 gold badge3 silver badges13 bronze badges

7

ftp_set_option[$ftpconn, FTP_USEPASVADDRESS, false];

Dòng mã này trước khi đặt tính thụ động của kết nối ftp_pasv[$ftpconn, true];

Giải quyết vấn đề của tôi

Đã trả lời ngày 24 tháng 12 năm 2019 lúc 11:59Dec 24, 2019 at 11:59

jj_dev2jj_dev2jj_dev2

3713 Huy hiệu bạc7 Huy hiệu Đồng3 silver badges7 bronze badges

1

FTP [s] sử dụng các cổng ngẫu nhiên để thiết lập các kết nối dữ liệu; Tỷ lệ thành công không liên tục chỉ ra rằng không phải tất cả các cổng đều được tường lửa cho phép trên máy khách và/hoặc máy chủ. Phạm vi cổng cho các kết nối dữ liệu đến [PASV] có thể được đặt trong máy chủ FTP.

Trang này có một bản tóm tắt hay:

Cách dễ dàng là chỉ cần cho phép các máy chủ FTP và khách hàng không giới hạn truy cập thông qua tường lửa của bạn, nhưng nếu bạn muốn giới hạn quyền truy cập của họ vào các cổng "đã biết", bạn phải hiểu 4 kịch bản khác nhau.

1] Máy chủ FTP nên được phép chấp nhận các kết nối TCP đến Cổng 21 và để tạo các kết nối TCP từ cổng 20 đến bất kỳ cổng [Ephemeral] nào.

2] Máy chủ FTP nên được phép chấp nhận các kết nối TCP đến cổng 21 và chấp nhận các kết nối TCP đến bất kỳ cổng phù du nào!

3] Máy khách FTP nên được phép tạo các kết nối TCP đến Cổng 21 và chấp nhận các kết nối TCP từ cổng 20 đến bất kỳ cổng phù du nào.

4] Máy khách FTP nên được phép thực hiện các kết nối TCP đến Cổng 21 và để tạo kết nối TCP đến bất kỳ cổng nào khác [Ephemeral] khác!

Đã trả lời ngày 18 tháng 4 năm 2017 lúc 10:06Apr 18, 2017 at 10:06

Cees Timmerancees TimmermanCees Timmerman

16.2K10 Huy hiệu vàng88 Huy hiệu bạc119 Huy hiệu đồng10 gold badges88 silver badges119 bronze badges

Vì vậy, tôi đang viết câu trả lời này sau khi thực hiện một số cuộc điều tra trên máy chủ FTP của tôi và đọc liên kết mà bạn đã cung cấp ELITEHOSTS.com.

Tôi đang sử dụng máy chủ Filezilla FTP và có một cài đặt cụ thể mà tôi phải nhập để làm cho nó hoạt động. Đi vào cài đặt máy chủ, có một khu vực có tiêu đề "Cài đặt chế độ thụ động". Trong hộp thoại đó, có một khu vực có tiêu đề "Cụ thể IPv4" và trong khu vực đó có một cài đặt có nhãn "Địa chỉ IP máy chủ bên ngoài để chuyển chế độ thụ động:". Đó là một bộ chọn nút radio và nó đã được "mặc định", nhưng vì máy chủ FTP được sử dụng, tôi đã thay đổi lựa chọn radio đó từ "mặc định" thành " Địa chỉ cổng của tôi được cung cấp bởi ISP của tôi.

Sau khi tôi thiết lập điều này, nó đã hoạt động! Không chắc chắn nếu máy chủ FTP của bạn được nat'ed, nhưng tôi nghĩ rằng tôi sẽ cung cấp câu trả lời trên chủ đề này vì nó có vẻ liên quan.

Đã trả lời ngày 11 tháng 6 năm 2013 lúc 15:49Jun 11, 2013 at 15:49

ariestavariestavariestav

2.6994 Huy hiệu vàng27 Huy hiệu bạc54 Huy hiệu đồng4 gold badges27 silver badges54 bronze badges

Ngoài câu trả lời của CEES, tôi đang chạy VSFTP trên EC2 và phải bình luận về List_ipv6 = Có, Nghe = Có sau đó "Dịch vụ VSFTPD khởi động lại".

Mặc dù tài liệu cho biết họ sẽ lắng nghe trên IPv4 cũng như nó đã không và điều này đã giải quyết vấn đề.

Đã trả lời ngày 15 tháng 8 năm 2018 lúc 15:16Aug 15, 2018 at 15:16

Đối với tôi tất cả những gì tôi phải làm là loại bỏ ftp_pasv[ $ftpconn, true ]; và mọi thứ hoạt động hoàn hảo. Tôi chưa chắc tại sao nhưng tôi đang cố gắng tìm hiểu và tôi chắc chắn sẽ quay lại khi tôi có được lý do đằng sau nó.

Ann Zen

25.8K7 Huy hiệu vàng32 Huy hiệu bạc52 Huy hiệu Đồng7 gold badges32 silver badges52 bronze badges

Đã trả lời ngày 30 tháng 4 năm 2021 lúc 22:33Apr 30, 2021 at 22:33

2

Đây phải là một nhận xét theo bình luận của JJ_DEV2, nhưng tôi không thể thêm một do danh tiếng. Nhưng có lẽ nó sẽ hữu ích cho ai đó, vì vậy tôi đăng nó ở đây.

Chúng tôi đã có vấn đề tương tự như được mô tả trong bài viết gốc. Trong trường hợp của chúng tôi, nó đã làm việc với nhiều khách hàng - ngoại trừ một.

Giải pháp trong bình luận JJ_DEV2 đã làm việc cho chúng tôi. Vì vậy, chúng tôi đã điều tra những gì ftp_set_option[$conn, FTP_USEPASVADDRESS, false] thực sự làm. Và dựa trên điều đó, chúng tôi đã phát hiện ra rằng trên thực tế, máy chủ FTPS của khách hàng đã được cấu hình không chính xác.

Để đáp ứng với lệnh PASV [ftp_pasv[$conn, true]] máy chủ FTP trả về một địa chỉ IP mà máy khách FTP PHP sau đó sẽ sử dụng để chuyển dữ liệu. Trong trường hợp của chúng tôi, máy chủ FTP đã trả về một địa chỉ IP nội bộ chứ không phải địa chỉ IP công khai mà chúng tôi kết nối. Khách hàng đã phải sửa cài đặt máy chủ FTP của họ để máy chủ FTP sẽ gửi địa chỉ IP bên ngoài trong phản hồi lệnh PASV.

Đã trả lời ngày 13 tháng 10 năm 2021 lúc 11:56Oct 13, 2021 at 11:56

Bài Viết Liên Quan

Chủ Đề