Не удается сохранить изменения общих настроек

This page is a translated version of the page Cannot save Global Configuration changes and the translation is 48% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎हिन्दी • ‎Nederlands • ‎русский

После входа в общие настройки в административной панели сайта и щелчка либо на [кнопку] "Сохранить", либо на [кнопку] "Сохранить и закрыть" для сохранения внесенных в настройки сайта изменений, появляется следующее сообщение об ошибке: “An error has occurred! Could not write to the configuration.php file”, которое, возможно, будет дополнено [сообщением об ошибке]: “JFTP::write: Bad response”, если Вы работаете во включенном режиме FTP.

Причина этой ошибки

Скрипт обновления конфигурации Joomla! не смог изменить содержимое файла "configuration.php" чтобы ввести в действие любые сделанные Вами в общих настройках изменения. Joomla! либо не смогла вписать в этот файл либо/и не смогла сделать этой файл открытым на запись (как R/W). Последнее случается чаще всего, поскольку начиная с Joomla! 1.5.x попытки сделать файл "configuration.php" открытым на запись происходят перед сохранением конфигурации. The most common reason for this is that the file “configuration.php” is owned by a different logical user to the one trying to make the change. If you are trying to change Global Configuration with FTP enabled, the latter will usually be your FTP login ID; with FTP disabled it will be a web server process identity (often named as something like “apache” or “www-data”). (Проверить кто обладает каким-либо файлом и с какими правами можно обычно открыв этот файл с помощью какого-либо клиента FTP. Альтернативно Вы можете использовать [для этого расширение системы Joomla] eXtplorer - смотрите [ссылку на него] ниже). К сожалению, Вы будете заблокированы от [возможности] переключиться на соответствующий режим изменением общих настроек, так как включение и выключение FTP режима (и таким образом изменение логического объекта, пытающегося изменить данную конфигурацию) определяется имеющимися по тому файлу [системными] данными по общим настройкам.

Рекомендуемые решения

Не открывайте файл “configuration.php” на запись всем пользователям. Если Вы это выполните, то в результате Вы сможете изменить общие настройки только один раз. После этого [система] Joomla сделает этот файл только читаемым всеми пользователями и данная проблема останется.

Владение

Изменяйте владение файлом “configuration.php” так, чтобы оно соответствовало, в случае если FTP режим включен, ID номеру авторизирующегося по FTP пользователя или, если режим FTP выключен, идентификатору процесса [данного] веб сервера.

Это не то, что Вы можете выполнить внутри [системы] Joomla. Если Вы обладаете полноым контролем над данным сервером (например, местным или виртуальным), то Вы должны иметь возможность выполнить это с помощью соответствующией утилиты (такой, как “chown” на сервере Linux).

На сервере, который Вы разделяете с другими, Вам следует связаться со службой [его] технической поддержки или со своим хостинговым провайдером, объяснить им данную проблему и попросить их изменить соответствующего владельца файла.

Использование какого-либо расширения

Install the eXtplorer component (obtainable from the Joomla! Extensions Directory - Category File Management) – if not already in place. This will allow you to view and manipulate files in both “file” mode (using the web server process user identity) or “ftp” mode using your FTP login user identity. Although you will probably not be able to change the file ownership with this tool, you can use one of the modes to make “configuration.php” writeable for all users. This will enable you to change to the Global Configuration once – or more if you include in that a change to the FTP mode so that it matches the ownership of your “configuration.php” file (but see Note below).
NOTE: changing the FTP mode will affect the ownership applied to files uploaded to the site under the new setting (e.g. when installing extensions). File ownership advice from ianmac

Check PHP Ownership

Get your web server to run PHP as CGI or FastCGI. This ensures that the PHP code is executed using the same user ID as used when uploading the Joomla code using FTP. Thus there is no conflict as the ID of the PHP process changing “configuration.php” file is the same as the file's owner. If you do not know how to set CGI or Fast CGI, contact your server administrator or hosting service provider for advice.

Background

The above is a simplified explanation, but the following may be of interest and value to all, and also help expert users formulate their own solution to this problem.

  • The file “configuration.php” is generated automatically in the site’s root folder (from “configuration.php-dist”) during site installation and incorporates in it the site-specific information given during the install process. Changes made in the Global Configuration area in the site's administrative “back-end” are written to “configuration.php” when the either the “Save” or “Save&Close” button is used.
  • Whenever Joomla! attempts to update “configuration.php” file it first attempts to make it writeable, and after updating the file make it unwriteable (i.e. read-only) as a security precaution.
  • Files on the web server hosting your Joomla! site will be owned by one of several entities, depending on how they were placed or created on the server. Generally files on a Joomla! site will be owned by either of two user identities:
    1. Files you upload by FTP or installed with FTP mode active will generally be allocated ownership of a user ID corresponding to your FTP login ID for that site,
    2. Files installed from within Joomla! and with FTP mode inactive will generally be allocated ownership by the “phantom” user ID that used to run the main web server processes as well as your Joomla! scripts (often named as something like “apache” or “www-data”).
Advertisement