El problema
Después de entrar en el área de configuración Global del sitio Administrador "back-end" y luego haciendo clic en el botón "Guardar" o "Apply" para guardar la opción actual de configuración del sitio, aparece el siguiente mensaje de error: "ha habido un Error! No se puede abrir el archivo configuration.php escribir! ", posiblemente acompañado por:" JFTP::write: mala respuesta "si se trabaja en modo FTP habilitado.
Razón para este error
El script de configuración de actualización en Joomla ha sido incapaz de cambiar el contenido del archivo "configuration.php" para reflejar los cambios que hiciste en la página de configuración Global. Joomla ha sido incapaz de escribir en el fichero o incapaz de hacer el escritura del archivo (es decir, R/W). Desde Joomla 1.5 intenta hacer "configuration.php" escritura antes de guardar la configuración, el último es más generalmente el caso. La razón más común para esto es que el archivo "configuration.php" es propiedad de un usuario lógico diferente a la que tratando de hacer el cambio. Si están tratando de cambiar la configuración Global con FTP habilitada, la voluntad de este última suele ser su ID de inicio de sesión FTP; con FTP con discapacidad será una identidad de proceso del servidor web (a menudo denominada como algo como "apache" o "www-data"). (Puede verificar generalmente sobre detalles de la propiedad del archivo mediante el registro su sitio con un programa FTP. Alternativamente, usted podría utilizar eXtplorer – véase más abajo). Desafortunadamente, usted estará bloqueada fuera cambiando al modo apropiado para actualizar la configuración Global como la habilitación y deshabilitación de modo FTP (y así cambiar la identidad lógica intentar cambiar la configuración) es determinados por los datos de configuración Global celebrados en ese archivo.
Soluciones sugeridas
Nota: no es suficiente para hacer el "configuration.php" archivo de escritura para todos los usuarios. Como entonces ser serás capaz de actualizar la configuración Global de una sola vez, después de que Joomla 1.5 será hacer el archivo de sólo lectura para todos los usuarios y así retomar el problema.
- Cambiar la propiedad del archivo "configuration.php" para que coincida con cualquiera de su ID de inicio de sesión FTP utilizando "FTP habilitado" para el sitio, o la identidad de proceso de servidor web si usted está usando "FTP desactivado".
Nota: Esto no es algo que puedes hacer dentro de Joomla.
Si usted tiene control total del servidor (por ejemplo, el servidor local o servidor virtual) entonces debe ser capaz de hacer esto usando una utilidad apropiada (por ejemplo, "chown" para un servidor Linux). En un servidor compartido, debe contactar con el soporte técnico para tu organización o tu ISP, explicar el problema y pedirles cambiar la propiedad archivo apropiadamente. - Instalar el componente eXtplorer (obtenible desde el directorio de extensiones Joomla – extensions.joomla.org) – si no ya en su lugar. Esto le permitirá ver y manipular archivos en ambos modo "archivo" (utilizando la identidad de usuario de proceso de servidor web) o "ftp" modo usando su identidad de usuario de inicio de sesión FTP. Aunque probablemente no serás capaz de cambiar la propiedad de archivos con esta herramienta, puede utilizar uno de los modos de hacer "configuration.php" escritura para todos los usuarios. Esto le permitirá cambiar a la configuración Global de una vez – o más si se incluye en un cambio en el modo FTP para que coincida con la propiedad de su archivo "configuration.php" (pero ver nota más abajo).
Nota: cambiando el modo FTP afectará la propiedad aplicado a archivos subidos al sitio bajo el nuevo ajuste (e.g. al instalar extensiones). - Ver el específico arreglar a esta persona descubrió en la página de discusión de este documento. He encontrado que esto funciona con mi instalación de v. 1.5.23.
- Haz tu servidor web que ejecute PHP como CGI o FastCGI. Esto asegura que el código PHP se ejecuta usando el mismo usuario ID como utilizar al cargar el código de Joomla mediante FTP. Así no hay ningún conflicto como el ID del proceso PHP cambiar archivo "configuration.php" es el mismo que el propietario del archivo. Si no sabes cómo configurar CGI o Fast CGI, en contacto con su administrador de servidor o proveedor de servicio de hosting para asesoramiento.
Fondo
Lo anterior es una explicación simplificada, pero el siguiente puede ser de interés y valor para todos y también ayudar a los usuarios expertos a formular su propia solución a este problema.
- El archivo "configuration.php" se genera automáticamente en la carpeta de la raíz del sitio (desde "configuration.php-dist") durante la instalación del sitio e incorpora en él la información específica del sitio dada durante el proceso de instalación. Los cambios realizados en el área Configuración Global administrativo "back-end" del sitio se escriben "configuration.php" cuando se utiliza el botón "Guardar" o "Aplicar".
- Cuando Joomla intenta actualizar archivo "configuration.php" lo primeros intentos de hacerlo pueden escribir, y después de actualizar el archivo hacer unwriteable (es decir, read-only) como medida de seguridad.
- Archivos en el servidor de web hosting de su sitio Joomla serán propiedad de una de varias entidades, dependiendo de cómo fueron colocados o creados en el servidor. Generalmente los archivos en un sitio Joomla serán propiedad de ninguno de los dos identidades de usuario:
- Archivos que sube por FTP o instalado con el modo FTP activo generalmente se asignarán propiedad de un ID de usuario correspondiente a su ID de inicio de sesión FTP para ese sitio,
- Archivos instalados desde dentro de Joomla y con modo FTP inactivo generalmente asignará la propiedad por el ID de usuario "fantasma" que se utiliza para ejecutar los procesos de servidor web principal, así como los scripts de Joomla (a menudo denominados como algo como "apache" o "www-data").