Почему Wordpress на localhost не находит обновления?
У меня работает Wordpress на WAMP. Почему-то при проверке обновлений для ядра и плагинов система сообщает, что всё актуально, хотя я знаю, что отстаю на одну версию ядра и три плагина. Почему я не получаю эти обновления?
Я проверил права доступа к файлам — всё в порядке. Пробовал отключать все плагины — без изменений. Также попытался переустановить текущую версию ядра Wordpress и получил следующий вывод:
Загрузка обновления с http://wordpress.org/wordpress-3.5.1-no-content.zip…
Ошибка загрузки.
Ошибка установки
Больше никакой информации нет. Есть идеи, в чём проблема? Почти идентичная версия на боевом сервере видит обновления нормально.
Обновление: Я так и не получил решения этой проблемы. Полезной информацией было бы узнать, к каким доменам или поддоменам Wordpress подключается для проверки и загрузки обновлений. Тогда я мог бы отладить подключение к этим доменам.
Обновление: Решения по-прежнему нет. Подозреваю, что проблема связана с тем, что Apache не может подключиться к внешним серверам, но не знаю, как это исправить.

Я сам использую XAMPP, но WAMP не сильно отличается.
Готов поспорить, что у вас не включен модуль curl. WordPress может использовать другие методы (streams и fsockopen) в качестве запасных вариантов, но они также могут быть отключены по умолчанию в стандартной установке. Curl является предпочтительным и его легко включить.
- Закройте WAMP
- Перейдите в директорию \bin\php\версия в WAMP
- Отредактируйте php.ini и раскомментируйте строку extension=php_curl.dll
- Сделайте то же самое в \bin\Apache\версия\bin\
- Сохраните изменения и перезапустите WAMP.
Примечание: WAMP также может предоставлять более простой способ сделать это через графический интерфейс. Найдите раздел "PHP extensions" и "php_curl" и убедитесь, что он включен.

Интересно. Я подозреваю, что проблема не в этом, потому что обновления раньше работали, а потом внезапно прекратились. Но из любопытства я проверил это. В моем php.ini в директории Apache curl уже был включен, но в PHP-директории - нет, так что я включил его, но получаю ошибку при запуске WAMP: "Unable to load dynamic library... php_curl.dll ...side-by-side configuration is incorrect..."

@JosiahSprague Похоже, вам не хватает .dll файла. Убедитесь, что он находится в директории расширений PHP (для Windows и Unix, кажется, они разные).

.dll файл на месте. Я также проверил права доступа к .dll, и они в порядке.

Учитывая такую проблему, я бы удалил WAMP и установил XAMPP вместо него. XAMPP работает просто отлично.

- Сначала откройте /wp-config.php
Первое, что вам нужно сделать - это открыть файл wp-config.php из корневой папки WordPress. Файл находится по пути wordpress/wp-config.php
- Добавьте FS_METHOD
Вставьте следующий код в ваш файл wp-config.php, желательно сразу после других строк кода.
define('FS_METHOD','direct');
Сохраните изменения - это точно сработает. У меня это успешно заработало.

"Не удалось скачать." возникает при ошибке в функции download_url()
Попробуйте выполнить этот код в одном из ваших файлов:
$url = "http://wordpress.org/wordpress-3.5.1-no-content.zip";
require_once(ABSPATH . "wp-admin/includes/file.php");
$file = download_url($url);
echo "<pre>";
var_dump($file);
echo "</pre>";
Это должно вывести одно из следующих сообщений об ошибке:
WP_Error('http_no_url', __('Указан неверный URL.'));
WP_Error('http_no_file', __('Не удалось создать временный файл.'));
WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ) );
WP_Error('http_request_failed', __('Не был предоставлен корректный URL.'));
WP_Error( 'http_request_failed', __( 'Пользователь заблокировал запросы через HTTP.' ) );
WP_Error( 'http_request_failed', __( 'Целевая директория для потоковой передачи файла не существует или недоступна для записи.' ) );

Кажется, вы на правильном пути, но у меня возникла ошибка: Fatal error: Call to undefined function download_url() in C:\wamp\www\doulos\wp-content\themes\doulos\front-page.php on line 9

Я заметил, что могут происходить странные вещи при запуске WAMP без прав администратора. Если ни один из вышеперечисленных способов не помог, попробуйте запустить WAMP Server от имени администратора и посмотрите, решит ли это проблему (даже если ваша учетная запись уже имеет права администратора). Если WAMP не запущен с правами администратора, это может мешать WordPress обнаруживать доступные обновления.
Чтобы запустить WAMP от имени администратора, кликните на меню "Пуск", введите wamp, нажмите правой кнопкой мыши на "Start wampServer" и выберите "Запуск от имени администратора".

Отличная идея! К сожалению, я попробовал, и это не сработало.

У меня были похожие проблемы, и в первую очередь я бы порекомендовал использовать XAMPP — это отличное решение для любой разработки на PHP под Windows, так как WAMP много раз подводил меня раньше, а XAMPP работает всегда и даже имеет портативную версию (использую его уже 4-5 лет).
Что касается вашей проблемы, вы уже пробовали другие предложенные решения (права доступа, административные привилегии и т. д.), поэтому я не буду повторяться, но, думаю, это может быть связано с медленным интернет-соединением, так как у меня было нечто подобное.
Попробуйте проверить, загружаются ли вообще файлы, с помощью инструментов мониторинга сети (вкладка "Сеть" в диспетчере задач может дать приблизительное представление, если другие интернет-приложения не работают). Если вы видите передачу данных, причем в течение достаточного времени для загрузки 4-5 МБ, то всё в порядке. В противном случае проблема может быть в WAMP или правах файловой системы.
У меня также было подозрение, что ваш файл hosts мог быть изменён. Проверьте, нет ли там записи для wordpress.org, указывающей на 127.0.0.1 или другой адрес вместо реальных серверов wordpress.org.
Надеюсь, это поможет вам!

Я помню, что сталкивался с похожей ситуацией некоторое время назад, и тогда проблема была решена путем указания временной директории в файле wp-config. Попробуйте добавить следующую строку в ваш файл wp-config.php:
define('WP_TEMP_DIR','/путь-к-созданной-вами-папке');
