글로벌 구성 변경 내용을 저장할 수 없습니다

 
글로벌 구성 변경 내용을 저장할 수 없습니다

문제

사이트 관리자 "백 엔드"에서 글로벌 구성 영역을 입력 후 다음 사이트 구성에 대 한 현재 선택 저장 하려면 "저장" 또는 "적용" 버튼을 클릭 하면 다음과 같은 오류 메시지가 나타납니다: "오류가 발생 했습니다! 쓰기 configuration.php 파일을 열 수 없습니다! ", 아마도 동반:" JFTP::write: 나쁜 응답 "FTP 사용 모드에서 작업 하는 경우.

이 오류에 대 한 이유

Joomla에서 구성 업데이트 스크립트 전역 구성 페이지에서 변경 사항을 반영 하기 위해 "configuration.php" 파일의 내용을 변경할 수 있다. Joomla 하나는 파일에 쓸 수 없습니다 및/또는 쓰기 가능 파일 (즉, R/W)을 할 수 없게 되어 있다. Joomla 1.5. x 구성을 저장 하기 전에 쓰기 가능한 "configuration.php"를 확인 하려고 시도, 이후 후자는 일반적으로 더 많은 경우입니다. 이것에 대 한 가장 일반적인 이유 하나 변경 하려고 파일 "configuration.php" 다른 논리 사용자에 의해 소유는입니다. 사용 하는 FTP와 글로벌 구성을 변경 하려는 경우 후자는 일반적으로 FTP 로그인 ID; 수 비활성화 FTP로 웹 서버 프로세스 id (종종 "아파치" 또는 "www-데이터" 같은 뭔가로 라는) 것입니다. (당신은 일반적으로 확인할 수 있습니다 파일 소유권 정보 FTP 프로그램으로 귀하의 사이트 로그인 하 여. EXtplorer-를 사용할 수 또는 아래 참조). 불행히도, 변화 하는 활성화로 글로벌 구성을 업데이트 하려면 적절 한 모드를 밖으로 잠겨있을 것입니다 및 FTP 모드의 해제 (그리고 따라서 구성을 변경 하려는 논리 id 변경) 글로벌 구성 데이터 파일에 의해 결정 됩니다.

제안된 솔루션

참고: 그것은 그냥 "configuration.php" 파일을 모든 사용자에 게 쓰기 가능 하 게 하기에 충분 합니다. 그럼 당신이 될 수 있을 것입니다 어떤 Joomla 후 글로벌 구성에 한 번만 업데이트를 1.5. x 모든 사용자에 대 한 읽기 전용 파일을 확인 하 고 따라서 문제를 다시.

  1. "FTP를 사용 하지 않도록 설정"을 사용 하는 경우에 사이트, 또는 웹 서버 프로세스 id에 대 한 "FTP 사용"를 사용 하는 경우 중 하나에 맞게 "configuration.php" 파일의 소유권 FTP 로그인 ID를 변경 합니다.
    참고: 이 Joomla 내에서 할 수 있는 뭔가가 아니다.
    서버 (로컬 서버 또는 가상 서버)의 전체 제어 하는 경우 다음 (예: "chown" 리눅스 서버에 대 한) 적절 한 유틸리티를 사용 하 여 이렇게 할 수 있어야 합니다. 공유 서버에서 해야 당신의 조직이 나 ISP에 대 한 기술 지원에 문의 설명 문제, 당신과 그들에 게 적절 하 게 파일 소유권을 변경 합니다.
  2. 자리에 있지 않은 경우 (Joomla 확장 디렉토리- extensions.joomla.org에서 얻을 수)-eXtplorer 구성 요소를 설치 합니다. 이것은 고 (웹 서버 프로세스 사용자 id를 사용 하 여) 모두 "파일" 모드에서 파일을 조작 또는 "ftp" 모드 FTP 로그인 사용자 id를 사용 하 여 볼 수 있습니다. 이 도구 파일 소유권을 변경할 수 없습니다 아마, 비록 모드 중 하나 모든 사용자에 대 한 쓰기 가능한 "configuration.php"를 만들기 위해 사용할 수 있습니다. 이 글로벌 구성-한 번 이상 포함 하는 경우는 FTP 모드를 변경 그것은 일치 하는 "configuration.php" 파일의 소유권 변경 (하지만 아래의 참고 참조) 수 있게 된다.
    참고: 새로운 설정은 아래 사이트에 업로드 하는 파일에 적용 된 소유권에 영향을 미칠 것입니다 FTP 모드를 변경 (예: 확장 기능을 설치 하는 경우).
  3. 이 문서의 토론 페이지에 발견이 사람 수정 관련을 참조 하십시오. 1.5.23 대 내 설치와 함께이 작동 것으로 나타났습니다.
  4. CGI 또는 FastCGI로 PHP를 실행 하 여 웹 서버를 얻을. 이 PHP 코드를 동일한 사용자 ID 사용 Joomla 코드 사용 하 여 업로드할 때 FTP를 사용 하 여 실행을 보장 합니다. 따라서 "configuration.php" 파일을 변경 하는 PHP 프로세스의 ID가 파일의 소유자와 동일으로 충돌 하지 않습니다. CGI 또는 빠른 CGI를 설정 하는 방법을 모른다면 서버 관리자 또는 호스팅 서비스 공급자에 문의.

배경

위의 단순화 된 설명입니다 하지만 다음 관심 및 가치, 그리고 전문가 사용자가이 문제에 그들의 자신의 해결책을 공식화 도움.

  • 파일 "configuration.php" 사이트 설치 하는 동안 ("configuration.php-구")에서 사이트의 루트 폴더에서 자동으로 생성 하 고 그것에 설치 프로세스 동안 주어진 사이트 관련 정보를 통합. "저장" 또는 "적용" 버튼을 사용 하면 사이트의 관리 "백 엔드"에서 글로벌 구성 영역에서 변경한 "configuration.php"에 기록 됩니다.
  • Joomla 업데이트 하려고 때마다 "configuration.php" 파일을 쓰기 가능, 수 있도록 첫 번째 시도 및 업데이트 한 후 파일은 쓸 (즉, 읽기 전용) 보안상의 이유로.
  • Joomla 사이트를 호스팅하는 웹 서버에 파일에 따라 어떻게 그들은 배치 했다 또는 서버에서 만든 여러 엔터티 중 하나에 의해 소유 됩니다. 일반적으로 Joomla 사이트에 대 한 파일 두 개의 사용자 id 중 하나에 의해 소유 됩니다.
    1. 파일을 FTP로 업로드 하거나 FTP 모드 활성 설치 일반적으로 할당 사용자 ID의 소유권을 해당 사이트에 대 한 FTP 로그인 ID에 해당
    2. Joomla 및 비활성 FTP 모드에서 설치 된 파일 일반적으로 할당 됩니다 소유권 주요 웹 서버 프로세스 (종종 "아파치" 또는 "www-데이터" 같은 뭔가로 명명) Joomla 스크립트를 실행 하는 데 사용 하는 "유령" 사용자 id.