WP-CLI không nhận ra các cập nhật plugin thương mại


11

Tôi đang gặp phải một vấn đề mà tôi chưa gặp phải trước đây khi WP-CLI không nhận ra các bản cập nhật plugin cho các plugin thương mại.

Các bản cập nhật plugin xuất hiện trong bảng điều khiển WordPress của tôi, nhưng chạy ../wp-cli.phar plugin update --allkhông cập nhật chúng. Nếu tôi chạy, ../wp-cli.phar plugin listnó không hiển thị chúng là có cập nhật.

Tôi đã chạy các bản cập nhật thông qua WP-CLI cho các plugin thương mại tương tự trên các máy chủ khác mà không gặp vấn đề gì. Điều khác biệt duy nhất trên máy chủ này là tôi không có sudoquyền truy cập, vì vậy, như bạn có thể thấy, tôi đang gọi wp-cli.phartrực tiếp thay vì thông qua wplệnh.

WP-CLI đang xử lý các bản cập nhật plugin từ kho lưu trữ .org mà không gặp sự cố nào trong quá trình cài đặt này.


1
Xin chào Nate, tôi không thể sao chép cuộc gọi này wp-cli.phartrực tiếp bằng phiên bản pro của Trường tùy chỉnh nâng cao. Một bản cập nhật có sẵn và nó hiển thị là có sẵn trong đầu ra của wp-cli's. Những plugin nào bạn đang thử điều này với? Có thể là họ bỏ qua các thói quen thông thường của WP cho việc này và do đó không được wp-cli chọn?
Tim Malone

Cảm ơn đã trả lời Tim. Tôi đã phát hiện ra trong nhiều tháng rằng nó khá rời rạc, nhưng có xu hướng xảy ra với các plugin sử dụng Cấp phép phần mềm của EDD, mà tôi tin rằng sử dụng các kỹ thuật thông thường của WP để cập nhật. Nó đã xảy ra ở mọi nơi tôi đã sử dụng WP-CLI (nhà phát triển địa phương, một vài máy chủ khác nhau).
NateWr

Hừm. Tôi sẽ phải kiểm tra xem các plugin thương mại mà tôi có sử dụng EDD không. Bạn đã đăng nhập một vấn đề với wp-cli?
Tim Malone

Không, tôi đã không đăng nhập một vấn đề vì nó rất rời rạc. Tôi không thể tái tạo nó một cách đáng tin cậy (Tôi đã tự hỏi nếu nó là một vấn đề với quá độ). Nhưng Daniel đã xem xét câu hỏi SE này và nói rằng anh ta chưa nghe về một vấn đề nào và không thể nghĩ ra bất cứ điều gì sẽ gây ra nó.
NateWr

1
Nate Tôi đã gặp phải một vấn đề tương tự chỉ trong tháng trước, sau vài giờ gãi đầu tôi thấy rằng vấn đề của tôi liên quan trực tiếp đến vấn đề phân giải DNS trên máy chủ. Cuối cùng, máy chủ đã hết thời gian trong khi giải quyết DNS để nó không bao giờ có thể kết nối với nguồn của bản cập nhật để thực hiện kiểm tra. Bản chất lẻ tẻ của vấn đề của bạn sẽ cho thấy bạn đang gặp vấn đề tương tự. Tôi sẽ mất vài phút để xác minh độ phân giải DNS và các kết nối ra khỏi máy chủ.
Steve

Câu trả lời:


1

Những gì bạn gặp phải có thể là một số vấn đề ở cấp độ mạng hoặc ai đó đã tạm thời xóa tài nguyên tải xuống. Ví dụ trước khi cập nhật.

Hầu hết các chi tiết bạn có thể nhận được từ mã nguồn https://github.com/wp-cli/wp-cli.

Chức năng cập nhật plugin trong đó trông như thế này.

function update( $args, $assoc_args ) {
        if ( isset( $assoc_args['version'] ) ) {
            foreach ( $this->fetcher->get_many( $args ) as $plugin ) {
                $assoc_args['force'] = 1;
                $this->install( array( $plugin->name ), $assoc_args );
            }
        } else {
            parent::update_many( $args, $assoc_args );
        }
    }

Và khi bạn chỉ định wp plugin update --allnó thực sự đi qua parent::update_manyhàm, trong đó cha mẹ thực sự là CommandWithUpgradelớp.

Tóm lại, wp-clisử dụng các tài nguyên được cung cấp bởi các plugin như thế này:

# Install from a remote zip file
wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef

Nhưng ở đó bạn có thể thấy thông tin bạn không nên xem.

Sidenote

Xin lưu ý rằng một số plugin cao cấp không hỗ trợ nâng cấp thông qua WP-CLI. Ví dụ: tôi biết BackupBuddy và Gravity Forms hoạt động tốt, nhưng các plugin từ Yoast thì không. Điều này có thể thay đổi.


1

Người dùng thực thi wp-cli cần có quyền ghi wp-contentvà thư mục con - nếu chỉ một số plugin bị lỗi, có thể các thư mục của các plugin này chỉ đọc cho người dùng đó.

Có một lỗi trong wp cli sẽ không báo cáo quyền truy cập tệp bị thiếu và thay vào đó báo cáo rằng plugin đã được cập nhật.

Các triệu chứng được mô tả áp dụng cho tình huống đó, do đó đây sẽ là một giải pháp cho một số người.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.