Блоґ

PHP message: Connection refused

Pinterest LinkedIn Tumblr

На перший погляд помилка не виглядає пов’язаною з WordPress, але подальший аналіз доводить зворотнє. Отже якось зіштовхнулися з тим, що журнал помилок завалений незрозумілими повідомленнями. При цьому робота сайту якось особливо не змінлася, помилок при вході на сторінки чи під час виконання повсякденних функцій немає. Єдине, що видає проблему – величезний error log з однією однотипною помилкою:

[Tue Apr 25 09:52:45.117449 2023] [proxy_fcgi:error] [pid 2344950:tid 2345144] [client 213.159.251.33:0] AH01071: Got error 'PHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refusedPHP message: Connection refused', referer: https://*********/********
Code language: JavaScript (javascript)

Причина

З таким узагальненим повідомленням про помилку дуже тяжко зрозуміти, куди копати. Одне з перших рішень, що потрапило під руку, було знайдено тут. В певному сенсі воно привело б вас до плагіна, що викликає проблему, але не вирішило б її, оскільки проблема не в самому плагіні.

Через деякий час було визначено, що помилки генеруються плагіном W3 Total Cache для WordPress (W3TC). W3TC підтримує достатньо широкий перелік різних методів кешування, зокрема для кешування запитів до БД та об’єктного кешу ви можете використати Redis та Memcached. 

Якщо ви налаштували W3TC на використання Redis, наприклад, і маєте неправильні налаштування з’єднання, або ви використовуєте віртуальний хостинг й не маєте доступу до сервісу Redis, ви можете отримати описані повідомлення в журналі помилок «PHP message: Connection refused» , що повторюються знову і знову, десятки чи сотні разів на секунду, та говорить вам про неможливість підключення плагіна W3TC до сервера Redis (або Memcached, наприклад).

Рішення

Перше й найпростіше – просто вимкніть кеш БД та/чи об’єктний кеш або перемкніть ці типи кешу на використання “диску” замість Redis/Memcached:

Якщо ви використовуєте віртуальний сервер для свого WordPress (VPS) та можете виправити проблему з підключенням до Redis – ви можете тимчасово вимкнути Redis-кеш, виправити проблему, увімкнути назад.

Що у нашому випадку:  як виявилось , проблема була в тому, що сам сервіс Redis був зупинений з певних причин, тож виконавши просту перевірку в консолі сервера ми дізналися поточний статус служби Redis та перезапустили її (наводимо команду також для Memcached):

sudo systemctl status redis
sudo systemctl status memcached

Дмитро Кондрюк в веб-індустрії з 2003 року. В 2009р. заснував проект Український WordPress (що у подальшому став офіційним сайтом команди локалізації WordPress в Україні). З 2010 року засновник і технічний директор проекту Український хостинг для WordPress (WPHost.me) - повноцінного хостинг-сервісу, максимально оптимізованого на використання CMS WordPress.

коментарів 1

  1. Я б ще додав, що w3tc іноді дає можливість обрати для кешування redis чи memcahed, хоча фактично ця служба на сервері відсутня

Коментувати