WPML
Trạng thái
Đang mở
Được báo cáo cho
WPML Multilingual CMS 4.6.4
Thẻ chủ đề
Bug

Tổng quan về lỗi

Cập nhật lên WPML 4.6.4 trên máy chủ sử dụng công cụ cache OpCache có thể dẫn đến lỗi nghiêm trọng không mong muốn khi sử dụng backend của bạn. Đặc biệt là khi sử dụng quy trình triển khai.

2023/06/22 02:36:16 [error] 359706#359706: *507646 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught TypeError: WPML\User\UsersByCapsRepository::__construct(): Argument #2 ($languagePairs) must be of type WPML\User\LanguagePairs\ILanguagePairs, WPML_Language_Pair_Records given, called in .../wp-content/plugins/sitepress-multilingual-cms/classes/container/class-config.php on line 63 and defined in .../wp-content/plugins/sitepress-multilingual-cms/classes/user/UsersByCapsRepository.php:18

Giải pháp tạm thời

Đảm bảo bạn có một bản sao lưu đầy đủ cho trang web của mình trước khi tiếp tục.

Tùy chọn 1


Khởi động lại máy chủ PHP của bạn sẽ khắc phục được sự cố này. Liên hệ với nhà cung cấp máy chủ của bạn và yêu cầu khởi động lại dịch vụ PHP-FPM.

Tùy chọn 2

1. Kiểm tra xem các tệp mới có tồn tại không

  • Mở ../wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php

  • Kiểm tra xem tệp có được đặt đúng vị trí hay không. Tệp sẽ chứa mã này ở dòng 14:
    class WPML_Language_Pair_Records implements ILanguagePairs {

    Thay vì:

    class WPML_Language_Pair_Records {


  • Nếu không phải như vậy, điều đó cho thấy có sự cố trong quá trình triển khai và bạn cần kiểm tra lại.
2. Nếu bạn thấy nội dung tệp đã chính xác

Bạn cũng có thể vô hiệu hóa OPCache của mình cho tệp cụ thể đó.


  • Chạy lệnh này từ một tập lệnh do http phục vụ (không phải CLI/SSH):
    opcache_invalidate( '/wp-content/plugins/sitepress-multilingual-cms/classes/language/class-wpml-language-pair-records.php', true);

3. Cuối cùng, xác minh rằng bạn không còn thư mục /Language/ nào

  • Mở thư mục /wp-content/plugins/sitepress-multilingual-cms/classes/ của bạn.

  • Tìm kiếm thư mục /Language/ còn sót lại có chữ hoa.

  • Nếu đúng như vậy, xóa thư mục /Language/ và đảm bảo rằng thư mục /language/ có các tệp từ phiên bản phát hành WPML 4.6.6.

Nếu sự cố vẫn tiếp diễn, liên hệ với bộ phận hỗ trợ của WPML. Sẽ rất hữu ích nếu bạn gửi cho chúng tôi nội dung phpinfo() của bạn.

Tất cả các lỗi đã ghi nhận →