Помогите идентифицировать источник ошибки

Главные вкладки

Аватар пользователя Химический Али Химический Али 21 августа 2008 в 8:54

Постоянно в области уведомлений высыпаются собщения вида

Quote:
Выбранный файл /tmp/fileOJ8kHO не удается закачать, поскольку каталог назначения sites/default/files/languages/ru_5d43efd035a9486ae8117aee99de3610.js неверно сконфигурирован.
Выбранный файл /tmp/fileorrZRH не удается закачать, поскольку каталог назначения sites/default/files/languages/ru_5d43efd035a9486ae8117aee99de3610.js неверно сконфигурирован.
или
Невозможно создать файл.
Невозможно создать файл.

При этом никаких операций, которые могли бы стать причиной, не производится. Видимо, что-то от кеширования или типа того. Файл ru_5d43efd035a9486ae8117aee99de3610.js лежит по указанному пути и содержит следующее:

Quote:
Drupal.locale = { 'pluralFormula': function($n) { return Number((((($n%10)==1)&&(($n%100)!=11))?(0):((((($n%10)>=2)&&(($n%10)<=4))&&((($n%100)<10)||(($n%100)>=20)))?(1):2))); }, 'strings': { "Unspecified error": "Не специфичная ошибка", "Select all rows in this table": "Отметить все колонки таблицы", "Deselect all rows in this table": "Снять отметку со всех колонок таблицы", "Your server has been successfully tested to support this feature.": "Ваш сервер был успешно протестирован и может использовать эту функцию", "Your system configuration does not currently support this feature.

Кусок как будто формируется в locale.inc

Подскажите, пожалуйста, в чем может быть причина?

Комментарии

Аватар пользователя zhylik zhylik 21 августа 2008 в 19:02

может поможет)

http://ufp.in.ua/node/11
вроде настройки, которые изменил юзер, тут: admin/settings/performance

http://www.disobey.com/bot/log/drupal-support/2008-02-29 к этой ссылке надо добавить якорек: #T370229
см. пару сообщений ниже -- чел отключил немецкий язык (у самого какой-то NL) и помогло

Аватар пользователя zhylik zhylik 21 августа 2008 в 19:39

Данная ошибка выводится в функции file_copy() файла file.inc
Возникает, если $basename === false (смотри функцию)

В $basename присваевается значание ф-ии file_check_path($directory),
где $directory = 'sites/default/files/languages/ru_5d43efd035a9486ae8117aee99de3610.js'

Функция file_check_path() файла file.inc возвращает false, если функция file_check_directory(sites/default/files/languages) вернет значение false

Функция file_check_directory($directory) файла file.inc вернет значение false:
- Случай 1. Когда директория не существует и создать ее не возможно
в данном случае в watchdog ниче не пишется
- случай 2. Когда директория is not writable
в данном случае в watchdog будет сообщение типа "The directory %directory is not writable, because it does not have the correct permissions set" (только по русски Smile

Под директорией подразумевается "sites/default/files/languages"

тебе осталось посмотреть в вачдог. и определить какой у тя случай

если первый -- то хз...
если второй, то проще создать папку "languages" в sites/all/files и добавить ей права 775 (вроде так)

Аватар пользователя Химический Али Химический Али 22 августа 2008 в 11:38

Спасибо, что помогаете мне.

В отчетах появлялась ошибка "Произошла ошибка во время создания файла перевода JavaScript для языка Русский." А модуля вочдог у меня нету.

Выставление прав 777 на диреткорию не давало эффекта. Помогло создание "languages" в директории sites/all/files Dirol

Огромное спасибо!

Аватар пользователя alexweb alexweb 23 августа 2008 в 18:56

такая ошибка возникает из-за проблемы с правами на файл. По крайней мере у меня возникала.
Дело в том, что если пользователь через ФТП залил папку files на сайт, то у всех файлов скорее всего права 755, при этом владельцем является ПОЛЬЗОВАТЕЛЬ, а не apache.

Соответственно, если сделать

chown -R apache:apache ./files

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

Аватар пользователя fedor7 fedor7 3 октября 2008 в 10:57

После установки drupal на .masterhost тоже получил такие сообщения.
Вылечилось изменением прав доступа. Но не через FTP, а с помощью специального скрипта.

Как решить проблемы с доступом к файлам площадки, созданным PHP-скриптами?
http://masterhost.ru/support/faq/technical/access-to-php-made/

Служба тех.поддержки .мастерхост отлично сработала, показав мне это решение!

Удачи!
Ф

Аватар пользователя anrysys anrysys 2 августа 2009 в 11:36

"alexweb" wrote:
такая ошибка возникает из-за проблемы с правами на файл. По крайней мере у меня возникала.
Дело в том, что если пользователь через ФТП залил папку files на сайт, то у всех файлов скорее всего права 755, при этом владельцем является ПОЛЬЗОВАТЕЛЬ, а не apache.

Соответственно, если сделать

chown -R apache:apache ./files

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


"alexweb" wrote:
такая ошибка возникает из-за проблемы с правами на файл. По крайней мере у меня возникала.
Дело в том, что если пользователь через ФТП залил папку files на сайт, то у всех файлов скорее всего права 755, при этом владельцем является ПОЛЬЗОВАТЕЛЬ, а не apache.

Соответственно, если сделать

chown -R apache:apache ./files

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

Совершенно правильно, был такой затык. Решилось простым рекурсивным переименованием директории:

chown -R apache:user ./files

где apache - пользователь из под которого запущен httpd - сервер
user - это я, пользователь, из под которого запущен мой сайт

Проблема решилась!
Спасибо.

Аватар пользователя kissfm kissfm 31 октября 2009 в 0:09

А еще способ:
в locale.module изменил строчку

$dir = file_create_path(variable_get('locale_js_directory', 'languages'));
на
$dir = file_create_path(variable_get('locale_js_directory', 'files/languages'));

обратное действие тоже помогает ))