A technical problem with the server created an error. Try again to continue what

Tác giả NetworkEngineer, Tháng hai 04, 2021, 09:35:28 AM

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 5 Khách đang xem chủ đề.

A technical problem with the server created an error. Try again to continue what you were doing. If the problem persists, try again later.


Nếu bạn gặp phải lỗi này trong khi cố gắng tải tệp lên từ tài khoản admin trong Magento, hãy chuẩn bị dành chút thời gian để giải quyết nó.

Kết quả của Google liên quan đến điều này rất nhiều và rất khác nhau, điều này là do có nhiều lý do có thể gây ra lỗi này. Tuy nhiên, nếu bạn may mắn, bạn có thể tìm thấy nguyên nhân gốc rễ được liệt kê ở đây.


1. Quyền thư mục và tập tin.

Bởi vì chúng ta đang cố gắng tải lên một tệp từ tài khoản admin trong Magento, một lý do có thể xảy ra là do thư mục ./pub/media của bạn không cho phép quyền ghi. Nếu bạn biết rằng bạn có quyền phù hợp, hãy lưu ý rằng chúng không bị thay đổi sau khi di chuyển hoặc tải lên thông qua bảng điều khiển, chạy lệnh với sudo, v.v.

Bạn có thể thử đặt quyền của thư mục ./pub/media thành 777 và kiểm tra xem nó có giải quyết được sự cố không.

Mã nguồn [Chọn]
find ./pub/media -type d -exec chmod 777 {} \;
2. Lỗi kỹ thuật đã biết của Magento.

Có một lỗi kỹ thuật (bug) đã biết cho lỗi này trong các phiên bản 2.3.x cũ hơn, nó sẽ được sửa trong các phiên bản mới nhất. Tuy nhiên, bạn có thể kiểm tra tệp sau để xác nhận xem đây có phải là nguyên nhân gây ra lỗi hay không.

Tìm và mở tập tin có đường dẫn sau đây.

Mã nguồn [Chọn]
vendor/magento/module-theme/view/adminhtml/ui_component/design_config_form.xml
Di chuyển đến dòng 154 và 57.

Mã nguồn [Chọn]
<field name="head_shortcut_icon" formElement="fileUploader">
Nếu formElement là fileUploader như ở trên thì đây là vấn đề cũ, bạn có thể thử thay thế nó trong tệp ở trên bằng imageUploader. Nếu nó giải quyết được vấn đề, điều đó có nghĩa là cùng một vấn đề cũ được báo cáo và bạn có thể muốn xem xét nâng cấp Magento lên phiên bản mới hơn.

3. Vai trò quản trị viên.

Nếu bạn không chắc người dùng quản trị của mình có vai trò phù hợp, hãy tạo một cái mới, có nhiều cách để làm điều đó, chúng ta sẽ đề cập đến việc tạo nó từ cửa sổ dòng lệnh.

Mã nguồn [Chọn]
bin/magento admin:user:create
Sau đó, bạn sẽ điền các thông tin theo yêu cầu của lệnh trên: người dùng, mật khẩu, email, tên.

Nếu điều này giải quyết được vấn đề của bạn, bạn cần kiểm tra các tài nguyên được chỉ định cho người dùng quản trị cũ hoặc chỉ tiếp tục sử dụng người dùng mới nếu nó đáp ứng nhu cầu của bạn.

4. Sự cố máy chủ.

Mình đã đưa ra lý do này rất nhiều lần, nếu bạn chưa tìm ra lý do của mình giữa những lý do đã đề cập ở trên, đừng bỏ cuộc, bạn vẫn có thể may mắn.

Trong quá trình Magento liệt kê các thư mục media, một số hàm php được sử dụng để truy xuất thông tin liên quan đến các tệp được lưu trữ. ví dụ: mime_content_type (). Vì nhiều lý do có thể gây ra lỗi hàm không xác định, do phiên bản PHP khác (vâng, nó đã không được dùng trong một số phiên bản) hoặc phần mở rộng PHP bị thiếu, hãy kiểm tra phần mở rộng của PHP FileInfo.

Có nhiều cách để kiểm tra phần mở rộng của PHP như thông tin hàm phpinfo() hoặc PHP Selector của CloudLinux trong cPanel.


Bạn có thể xác nhận điều này bằng cách kiểm tra nhật ký máy chủ, nhưng nếu bạn đang sử dụng gói lưu trữ chia sẻ, bạn có thể cần yêu cầu bộ phận hỗ trợ lưu trữ hỗ trợ bạn.

Nếu bạn truy cập bất kỳ khối CMS nào và mở hình ảnh đã tải lên để tái tạo sự cố khi chọn thư mục (thông thường, bạn cần chọn thư mục chứa tệp để xem lỗi). Sau đó, bạn có thể truy cập tệp này.

Mã nguồn [Chọn]
magento/vendor/magento/module-cms/Model/Wysiwyg/Images/Storage.php
Tìm đến dòng 333 và bình luận nó đi.

Mã nguồn [Chọn]
//$item->setMimeType(\mime_content_type($item->getFilename()));
Bây giờ bạn hay thử tại lại trang Web và tải lên hình ảnh từ CMS, bạn sẽ có thể thấy lỗi đã biến mất. Tuy nhiên đây chỉ là để xác nhận lý do của sự cố, nếu nó không phải là giải pháp cho quá trình gây lỗi trong khi tải ảnh lên, bạn vẫn cần phải bỏ bình luận dòng đó và kiểm tra lại phần mở rộng FileInfo hoặc phiên bản PHP của bạn.

Mình hy vọng rằng với mô tả của các nguyên nhân trên, các bạn đã tìm ra nguyên nhân gốc rễ của vấn đề mà bạn đang gặp phải. Nếu các bạn có ý kiến hoặc giải pháp nào hay hơn thì hãy nhớ chia sẻ qua bình luận bên dưới.