Исправление странных ошибок с обновлением движка (WP2.7+) и плагинов (WP2.6 и новее)

Сегодня столкнулся с такой странной проблемой при обновлении двух блогов на eskhosting (сервер cp3) все работало нормально, но при попытке обновления плагинов выдавало на странице три ошибки вида

Warning: touch() [function.touch]: Unable to create file /tmp/xxxxxxxxx because Permission denied in /is/htdocs/xxxxxxxxx_xxxxxxxxx/www/wp-admin/includes/file.php on line ***

Warning: fileowner() [function.fileowner]: stat failed for /tmp/xxxxxxxxx in /is/htdocs/xxxxxxxxx_xxxxxxxxx/www/wp-admin/includes/file.php on line ***

Warning: unlink(/tmp/xxxxxxxxx ) [function.unlink]: Permission denied in /is/htdocs/xxxxxxxxx_xxxxxxxxx/www/wp-admin/includes/file.php on line ***

поиск в гугле навел на пару топиков на форуме wordpress.org и на один немецкий блог. перевожу на русский:
нужно просто добавить строку

putenv('TMPDIR='.ini_get('upload_tmp_dir') );

в ваш wp-config.php и все заработает.

Добавлено 11.02.2009: Вот кстати  у SOL’а на форуме нашел тоже еще другой вариант ошибки с автообновлением плагинов (встречал тоже на одном блоге) — как пишут тоже помогла строка написанная выше тут у меня

Добавлено 13.02.2009 Также помогает эта строка, если вы пытаетесь обновить движок или плагин, но вам постоянно пишется примерно так

Загрузка обновления с http://downloads.wordpress.org/plugin/wp-db-backup.2.2.2.zip
Загрузка не удалась.: Невозможно создать временный файл
Установка не удалась

Связанные записи

33 комментария на запись “Исправление странных ошибок с обновлением движка (WP2.7+) и плагинов (WP2.6 и новее)”

  1. Backfont 9 февраля 2009 в 17:13

    я поставил сборку Lecactus Edition примерно 3-го января….. и до сих пор мне ни разу не предложило обновиться

    на скриншоте http://img266.imageshack.us/img266/5984/wordpressav6.png
    пишет что у меня последняя сборка, и почему то предлагает обновиться до версии Ru_Ru =( а лекактус сборка не РУ ?
    каких то два вордперса… какой из них лекактуса..какой из них какой..мне так и не удалось понять =(

  2. Oleg Medinskiy 9 февраля 2009 в 17:50

    А строку добавляем куда, в начало в конец кода?
    Это для версий 2.7 и выше?

  3. jobgomel 9 февраля 2009 в 18:05

    Я добавил перед загрузкой ……………..wp-settings.php
    почти в самом конце. По крайней мере ничего не испортилось.

  4. Backfont 9 февраля 2009 в 18:21

    Иван хелп ту солв проблемс =)

    куда вставлять код и какая из тех сборок что на скрине твоя…?

  5. Lecactus 9 февраля 2009 в 18:36

    Oleg Medinskiy, для 2.7+. в любое место где задаются разные параметры

  6. Lecactus 9 февраля 2009 в 18:47

    куда вставлять код и какая из тех сборок что на скрине твоя…?

    если нет ошибок приведенных в посте то никуда.

    пишет что у меня последняя сборка, и почему то предлагает обновиться до версии Ru_Ru =( а лекактус сборка не РУ ?

    читать тут — уже описывал что есть ху

  7. Backfont 10 февраля 2009 в 4:55

    куда вставлять код и какая из тех сборок что на скрине твоя…?

    если нет ошибок приведенных в посте то никуда.

    пишет что у меня последняя сборка, и почему то предлагает обновиться до версии Ru_Ru =( а лекактус сборка не РУ ?

    читать тут — уже описывал что есть ху

    1. Я на хостинге эскохостинг (думал нужно putenv(‘TMPDIR=’.ini_get(‘upload_tmp_dir’) ); )
    + но пока и без этого плагины обновляются
    2. по поводу сборок.. оставь в автообновлении только свою сборку =)) ну и английскую
    если я скачал твою сборку, значит я естественно и буду её обновлять.. http://img266.imageshack.us/img266/5984/wordpressav6.png
    ну если совсем плохо станет может ещё на английскую. а то происходит путаница..из за того что нет никаких пометок ==( а на форуме столько инфы…год можно потратить чтобы отыскать ответ на этот вопрос

  8. Lecactus 10 февраля 2009 в 8:12

    Backfont, это штатная функция WP предлагать русскую(установленную в настоящее время локаль) и английскую. если выйдет к примеру 2.7.1 версия и не выпустится к тому моменту как ты зайдешь на ту страницу ОФИЦИАЛЬНАЯ РУССКАЯ 2.7.1 то тебе предложат только английскую. если же 2.7.1 выйдет официальная то тогда сработает функция одна и подставится урл на мою версию 2.7.1. но если не будет лежать по этому пути никакого файла у меня то ничего качаться не будет. все просто. мудрено только на первый взгляд.

  9. Backfont 11 февраля 2009 в 14:49

    =)) предлагаю сделать скрин-шот и вывесить его навсегда…со стрелочкой..ЖАТЬ ТУТ ЧТОБЫ ПОЛУЧИТЬ ЛЕ-ЭДИШАН =) и думаю часть..людей больше никогда не задаст вопрос…когда информация на скриншоте да и ещё с пояснениями , всегда очень наглядно и понятно…можно даже самому разобраться, а когда есть только пояснение..иногда приходится спамить..писать глупые вопросы =)

    вот сделал новый скрин шот http://img153.imageshack.us/img153/5527/lecactusdj4.png
    жму просто "Обновить Автоматически" и ву-а-ля =)) я правильно понял?

    зы
    пока ещё не обновлялся

  10. Lecactus 11 февраля 2009 в 14:53

    Backfont, у вас на скрине кнопка ведет на английскую версию. version.php содержит буквы ru_RU ?

  11. Backfont 12 февраля 2009 в 15:19

    Backfont, у вас на скрине кнопка ведет на английскую версию. version.php содержит буквы ru_RU ?

    Сборку качал с вашего сайта в начале января, нигде ничего не правил, ничегде ничего не менял.. вчера ссылка была только на английскую версию… сегодя уже опять всё как надо (само как то =))

    http://img132.imageshack.us/img132/2306/todayin8.jpg

  12. Lecactus 13 февраля 2009 в 23:09

    пост обновил. добавил что еще решает эта строка и другие проблемы, связанные с обновлением. век живи — век учись :-)

  13. Lecactus 13 февраля 2009 в 23:10

    причем и в версиях WP 2.6.* это также решает проблему с автообновлением плагинов

  14. admin_eumtp 18 февраля 2009 в 23:30

    При обновлении ошибка
    Загрузка обновления с http://lecactus.ru/download/wordpress-2.7.1-ru_RU.zip

    Загрузка не удалась.: Found

    Установка не удалась

    что делать?

  15. Lecactus 18 февраля 2009 в 23:38

    admin_eumtp, вы не сказали — то что описано в посте пробовали делать?

  16. admin_eumtp 19 февраля 2009 в 20:27

    Да. Ошибка тогда возникает такая, как в посте написана:
    Warning: touch() [function.touch]: Unable to create file /tmp/xxxxxxxxx because Permission denied in /is/htdocs/xxxxxxxxx_xxxxxxxxx/www/wp-admin/includes/file.php on line ***

    В общем обновить не дает автоматически на новую версию.. Что делать?

  17. Lecactus 19 февраля 2009 в 20:30

    Что делать?

    вариант1 обновить вручную http://lecactus.ru/2009/02/11/3720/ — закачать только обновленные файлы
    вариант2 хостера напрячь чтобы посмотрел

  18. V1TSK 14 марта 2009 в 18:38

    У меня на сервере хостера включён режим php safemode (отключать они его не собираются) и плагины вообще не обновляются автоматически. В логах появляются такие строки:

    Warning: touch() [function.touch]: SAFE MODE Restriction in effect. The script whose uid/gid is 1340/1340 is not allowed to access /var/tmp owned by uid/gid 0/0 in /путь_установки/wp-admin/includes/file.php on line 174
    и ещё несколько аналогичных.

    Можно ли исправить этот баг и включить автоматическое обновление движка или хотя бы плагинов?
    P.S. Запись строки putenv(‘TMPDIR=’.ini_get(‘upload_tmp_dir’) ); в файл конфигурации не помогает.

  19. Lecactus 14 марта 2009 в 19:06

    V1TSK, навряд ли

    тут на эту тему написано немного (описаны разные хостинги) и там про пару хостов написано что из-за safe mode — «облом» с обновлением (поровну плагин или движок)

  20. V1TSK 15 марта 2009 в 13:26

    Спасибо за ответ.
    1. В том списке все хостеры зарубежные.
    2. На всех российских платных хостингах, которые я видел, включён режим PHP Safe Mode, поэтому обновляться приходится вручную.

  21. Lecactus 15 марта 2009 в 13:53

    не все хостинги значит перепробовали. на большинстве тех что видел я — работает все таки

  22. Munk 1 апреля 2009 в 15:49

    Помогите пожалуйста. После обновления на 2.7.1 начались траблы с плагинами.
    При активации плагина содержащего ru_RU.mo/po, после обновления страницы кроме надписи "Плагин активирован" ничего нет. Не отображаются активные/неактивные плагины.
    Если файлы ru_RU.mo/po удалить, всё ок.. Подскажите как решить проблему.

  23. Алексей 14 июля 2009 в 23:02

    Спасибо, действительно помогло. А то уже куча плагинов на очереди была, да и сам вп хотел обновиться.

  24. Герман 3 октября 2009 в 17:25

    Установил Ваш пакет с WP 2.8.4. Но почему-то ни один плаги не обновляется.
    Строка, что вы, приводите в посте не помогла. Права на все папки файлы установил в 777, но все равно при попытке обновить плагин получаю вот это:
    Загрузка обновления с http://downloads.wordpress.org/plugin/google-sitemap-generator.3.1.6.zip.
    Распаковка обновления.
    Невозможно скопировать файл /wp-content/upgrade/google-sitemap-generator.3.1.6/google-sitemap-generator/sitemap-core.php

    Помогите пожалуйста. ОЧЕНЬ НАДО!!

  25. Герман 6 октября 2009 в 17:09

    Это снова я. Песле того как я убрал строку, вами рекомендуемую в этом посте, ситуация изменилась. Теперь при обновлении плагина птшет — Невозможно обнаружить директорию содержания WordPress (wp-content). Пути FTP я проверил. В Тотале я попадаю сразу в свой коталог. Помогите, пожалуйста, обновить плагины!

  26. Самостоятельный Путешественник 7 октября 2009 в 5:26

    Помогите, в какой место файла надо вставить вышеуказанный код? Вставил в самом конце, а все равно не обновляются плагины. Выдается ошибка.

  27. Андрей 25 октября 2009 в 18:12

    У меня сайт на хостинге ByetHost перепробовал кучу вариантов, ничего не помогло. Случайно нашел решение на wordpress.org

    Добавляем в любое место в файл wp-config
    if(is_admin()) {
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
    define( 'FS_CHMOD_DIR', 0751 );
    }

  28. Герман 30 октября 2009 в 14:11

    У меня сайт на хостинге ByetHost перепробовал кучу вариантов, ничего не помогло. Случайно нашел решение на wordpress.org

    Добавляем в любое место в файл wp-config
    if(is_admin()) {
    add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
    define( 'FS_CHMOD_DIR', 0751 );
    }

    Ну и кто пробовал ???
    У меня при попытке открыть блог выдает вот такую ошибку.
    ————————-
    Fatal error: Call to undefined function is_admin() in /home/ikorrek/public_html/semya/wp-config.php on line 106
    ————————-
    Интереснео, хоть-кто нибудь даст нормальное решение проблемы с обновлением плпгинов???

  29. jehy 29 декабря 2009 в 7:36

    А у меня сработало

    define(‘WP_TEMP_DIR’,ABSPATH.’wp-content/uploads/’);

    в конце wp-config.php

    причём трабл был уже на 2.9…

  30. TiamatInc 12 января 2010 в 1:33

    Мне помог совет описанный в посте, вставил строчку в начало файла и как по мановению волшебной палочки обновился с 2.9, на 2.9.1. Причем сразу заработали и запланированные события, которые почему-то отключились после обновления на 2.9. Аж разом 4 бэкапа базы пришло :-)

  31. Сергей, Томск 24 февраля 2010 в 10:45

    А у меня скачивался архив, но писало вот что:

    Невозможно скопировать файл: /public_html/wp-content/upgrade/ и т.д.

    Помогло вручную удаление временного содержимого (остается от предыдущего обновления), а именно вот этой папки: /public_html/wp-content/upgrade/wordpress-2.tmp

  32. TiamatInc 3 марта 2010 в 23:16

    Помогло вручную удаление временного содержимого (остается от предыдущего обновления), а именно вот этой папки: /public_html/wp-content/upgrade/wordpress-2.tmp

    Мне тоже помогло, когда с 2.9.1 на 2.9.2 апался. Причем банальное переименование ни к чему не привело, а как только удалил, тут же обновился.

  33. revaz 28 сентября 2010 в 3:42

    А у меня сработало

    define(‘WP_TEMP_DIR’,ABSPATH.’wp-content/uploads/’);

    в конце wp-config.php

    причём трабл был уже на 2.9…

    Помогло. на папку 777