Lỗi không mong đợi


7

Nó cần kết nối với wordpress.org và đã hết thời gian. Tôi đứng sau một bức tường lửa của công ty. Tôi chưa bao giờ có vấn đề này xuất hiện trước đây trong các phiên bản trước. Tại sao Themes.php cần truy cập vào wordpress.org và tôi có thể làm gì để nó không (hoặc có thể là thứ gì đó sẽ cho phép tôi sử dụng cài đặt proxy của mình).

Thêm thông báo lỗi:

Cảnh báo PHP: Xảy ra lỗi không mong muốn. Một cái gì đó có thể sai với WordPress.org hoặc cấu hình của máy chủ này. Nếu bạn tiếp tục gặp vấn đề, vui lòng thử các diễn đàn hỗ trợ. (WordPress không thể thiết lập kết nối an toàn với WordPress.org. Vui lòng liên hệ với quản trị viên máy chủ của bạn.) Trong C: \ inetpub \ wwwroot \ Ticket \ wp-admin \ gồm \ theme.php trên dòng 298

Điều này chắc chắn là mới đối với 3.7. Chúng tôi đã cài đặt 3.6.1 4-5 lần và không có vấn đề gì. Tôi sẽ có người chặt đầu tôi nếu họ không thể thay đổi chủ đề của họ.

Cập nhật: 3.8 đã sửa rất nhiều vấn đề lớn. Tuy nhiên, chúng tôi vẫn không thể tìm thấy plugin, tìm chủ đề hoặc nhận và của nguồn cấp dữ liệu bảng điều khiển. Nếu bất cứ ai có giải pháp cho những điều này - ngay cả khi đó là một gợi ý cho máy chủ proxy, điều đó sẽ hữu ích.

Câu trả lời:


8

Điều hướng quản trị viên WP nói chung có xu hướng kích hoạt nhiều yêu cầu bên ngoài, chẳng hạn như tìm nạp nguồn cấp tin tức và cập nhật chủ đề / plugin (không tính bất kỳ plugin / chủ đề nào có thể tự thực hiện).

Bạn có thể đặt các hằng cấu hình vào wp-config.phpđể chặn hoàn toàn / một phần yêu cầu bên ngoài:

define( 'WP_HTTP_BLOCK_EXTERNAL', true );
define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,*.github.com' );

Hoặc định cấu hình các yêu cầu bên ngoài để sử dụng cài đặt proxy của bạn:

define('WP_PROXY_HOST', '192.168.84.101');
define('WP_PROXY_PORT', '8080');
define('WP_PROXY_BYPASS_HOSTS', 'localhost, www.example.com, *.wordpress.org');

Cộng WP_PROXY_USERNAMEWP_PROXY_PASSWORDđể xác thực.


Phản hồi tuyệt vời đầu tiên. Tôi sẽ thử một vài điều và báo cáo. Bất kỳ ý tưởng về sự thay đổi trong 3.7 đã gây ra vấn đề? Ngoài ra còn có một plugin để quản lý các cài đặt này. Tôi tung ra các trang WP trái và phải và sẽ ghét phải thay đổi mọi thứ mỗi khi có cài đặt mới hoặc ai đó nâng cấp.
STing

@STing Tôi nghĩ rằng có khả năng do các yêu cầu API bị buộc phải sử dụng SSL trong 3.7
Rarst

Máy chủ của tôi không hỗ trợ SSL. Tôi cần làm gì để khiến trang web gọi lại https? Điều này với tôi có vẻ như một lỗi.
STing

@STing vì WP chọn giữa nhiều back-end cho các yêu cầu HTTP, điều này thật khó để khuyên bạn không cần gỡ lỗi và hiểu rõ hơn về những gì đang diễn ra. Tôi sẽ bắt đầu với việc cài đặt Core Control và xem xét.
Rarst

Xin chào. Vì vậy, đây có phải là vấn đề với bất kỳ ai đã cài đặt SSL hoặc chỉ SSL tường lửa không?
STing

2

Đây là một vấn đề với những thay đổi trong API HTTP của WordPress. Nó không hoàn toàn tương thích với cURL nữa.
Tôi không chắc chắn, tại sao chính xác nó xảy ra (không có thông tin ngữ cảnh được đưa ra, khi lỗi này xảy ra), nhưng bạn có thể thêm một sửa chữa tạm thời.

Trong một plugin hoặc ở cuối của bạn wp-config.php, hãy thêm các dòng sau:

add_filter( 'http_api_transports', function()
{
    return array( 'streams' );
});

Điều này sẽ vô hiệu hóa cURL và làm cho thông báo lỗi biến mất mà không ảnh hưởng đến các thành phần khác trên máy chủ.


Để đầy đủ, đây là chi tiết về cURL hiện tại của tôi:

$ curl --version
curl 7.26.0 (i686-pc-mingw32) libcurl/7.26.0 OpenSSL/0.9.8x zlib/1.2.7
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtsp smtp smtps telnet tf
tp
Features: GSS-Negotiate Largefile NTLM SSL SSPI libz

1

Tôi không có thời gian chờ nhưng các yêu cầu https://api.wordpress.org đang gặp 500 handshakefailedlỗi từ tường lửa của công ty. Tôi phát hiện ra rằng trên hệ thống Ubuntu 12.04 của mình, tôi đã không cài đặt được php5-curl. Khi tôi cài đặt nó và khởi động lại apache2, vấn đề đã biến mất.


Tôi sẽ kiểm tra lại nhưng khá chắc chắn curl đang chạy. Nó là tốt để biết curl được yêu cầu mặc dù. Cũng sẽ kiểm tra 3.8 và cập nhật câu hỏi nếu nó vẫn còn là một vấn đề hay không.
STing

0

Trong trường hợp của bạn, nó có thể chỉ là một vấn đề mạng. Nhưng tôi đã gặp vấn đề với cùng một cảnh báo (vì vậy nó có thể được áp dụng, mặc dù nó có thể có một số lý do có thể) và đã tìm thấy giải pháp trong Wordpress tại đây , mặc dù trên localhost. Họ đề nghị thay thế các tệp được tham chiếu trong thông báo lỗi bằng cùng các tệp từ bản cài đặt mới của cùng một phiên bản Wordpress (chỉ cần tải xuống tệp .zip cho phiên bản đó, giải nén và sao chép tệp trong câu hỏi).

Trong trường hợp của tôi, nó là (path-to-wordpress)/wp-include/update.php, trong trường hợp của bạn nó sẽ được (path-to-wordpress)/wp-admin/include/theme.php. Theo tôi hiểu vấn đề, một số phần của tệp nơi thiết lập kết nối an toàn được xử lý đã bị hỏng trong khi cập nhật.

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.