BOARD

문제 해결

phpMyAdmin 접속 시 세션 저장 경로 및 퍼미션 오류 해결 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 22회 작성일 26-09-30 16:20

본문

phpMyAdmin 접속 시 세션 저장 경로 및 퍼미션 오류 해결 방법

그누보드 운영 환경에서 phpMyAdmin 접속 시 발생하는 'Cannot start session without errors' 에러의 원인인 세션 저장 경로와 퍼미션 문제를 해결하여 정상적으로 접속할 수 있도록 돕습니다.

PHP 환경에서 세션 저장 경로(session.save_path) 확인 방법

현재 PHP 환경에서 지정된 세션 저장 경로를 파악하려면 phpinfo() 함수를 활용하여 설정 값을 확인할 수 있습니다.

확인 절차

  1. 메모장 등의 편집기를 열고 <? phpinfo();?> 코드를 입력한 뒤, 파일을 phpinfo.php 등의 이름으로 서버에 저장하고 업로드합니다.
  2. 웹 브라우저를 통해 해당 phpinfo.php 파일에 접속합니다.
  3. 페이지 내에서 검색 기능(예: Ctrl + F)을 사용하여 session.save_path 항목을 찾습니다.
  4. 출력된 설정 값을 통해 현재 지정된 경로(예: /var/lib/php/session 등)를 확인합니다.

php.ini 세션 저장 경로 및 퍼미션 수정 방법

phpMyAdmin 접속 시 "Cannot start session without errors" 오류가 발생할 때, 서버의 php.ini 파일에서 세션 저장 경로를 확인하고 수정하거나 폴더 권한을 변경하여 웹서버가 세션 파일을 정상적으로 읽고 쓸 수 있도록 조치할 수 있습니다.

1. 세션 저장 경로 확인

  • phpinfo() 페이지를 통해 현재 설정된 session.save_path 값을 확인합니다. 일반적으로 /var/lib/php/session 등으로 지정되어 있습니다.

2. php.ini 설정 변경

  • php.ini 파일에서 세션 저장 경로(session.save_path)를 올바른 경로(예: /tmp)로 지정하거나 변경합니다.
  • 설정 예시:
    session.save_path = "/tmp"

3. 세션 저장 경로 퍼미션 수정

  • 세션 파일이 저장되는 디렉토리(예: /var/lib/php/session 또는 /tmp)에 쓰기 및 실행 권한이 부족하면 세션 시작 오류가 발생할 수 있습니다.
  • SSH를 통해 서버에 접속한 뒤 아래 명령어로 퍼미션을 변경할 수 있습니다.
    chmod 770 /var/lib/php/session
  • 보안 주의사항: chmod 777은 모든 사용자에게 권한을 부여하므로 보안상 매우 취약합니다. 운영 환경에서는 웹 서버 실행 계정(예: apache, www-data)에 맞춰 소유권을 변경(chown)하고, 퍼미션을 755 또는 770으로 제한하는 방식을 권장합니다.

4. 웹서버 재시작

  • 설정을 변경한 후에는 아파치 웹서버를 재시작하여 변경된 설정이 적용되도록 합니다.
    ./bin/apachectl restart
    또는
    service httpd restart

아파치 웹서버 재시작 명령어

php.ini 설정 또는 세션 저장 경로 권한을 변경한 뒤, 변경 사항을 웹서버에 즉시 반영하기 위해 아파치 웹서버를 재시작하는 명령어는 다음과 같습니다.

재시작 명령어

  • 방법 1 (service 명령어 사용):
    service httpd restart
  • 방법 2 (apachectl 명령어 사용):
    ./bin/apachectl restart

SSH로 서버에 접속한 후 위 명령어를 실행하여 서비스를 재시작하고 phpMyAdmin 접속 오류가 해소되는지 확인하십시오.

네, 서버 설정을 변경하기 전 브라우저의 쿠키를 삭제하여 문제를 해결할 수 있습니다. phpMyAdmin 접속 시 발생하는 Cannot start session without errors 에러는 서버 측 세션 저장 경로의 권한 문제뿐만 아니라, 클라이언트 브라우저에 저장된 기존 쿠키 데이터와의 충돌로 인해 발생할 수도 있습니다.

브라우저 쿠키 삭제 방법

  • 크롬(Chrome): 설정 > 개인정보 및 보안 > 인터넷 사용 기록 삭제 > '쿠키 및 기타 사이트 데이터'를 선택하여 삭제합니다.
  • 인터넷 익스플로러(IE): 도구(톱니바퀴 아이콘) > 인터넷 옵션 > 일반 탭의 검색 기록에서 '삭제' 버튼을 클릭한 후 '쿠키 및 웹 사이트 데이터'를 체크하여 삭제합니다.

쿠키를 삭제한 후에도 문제가 지속된다면, 서버 측의 session.save_path 경로 설정 및 해당 디렉토리의 권한(퍼미션)을 확인해야 합니다.

상황별 판단 및 대응 가이드

내 상황우선할 판단다음 행동
phpMyAdmin 접속 시 "Cannot start session without errors" 에러 발생클라이언트 측 브라우저 쿠키 충돌 여부 확인브라우저 쿠키 삭제 후 재접속 시도 및 지속 시 서버 설정 확인
브라우저 쿠키를 삭제해도 세션 오류가 계속 발생함PHP 세션 저장 경로(session.save_path) 및 폴더 권한 확인phpinfo()로 경로 확인 후 php.ini 수정 또는 chmod 777 퍼미션 변경
서버 설정을 변경하거나 퍼미션을 수정한 상태변경된 설정의 웹서버 즉시 반영SSH 접속 후 아파치 웹서버 재시작 (service httpd restart 등) 실행

실전 FAQ

Q. 브라우저 쿠키를 삭제하고 서버 설정을 변경했는데도 세션 에러가 지속되면 어떻게 해야 하나요?

  • 예외 및 대안: PHP-FPM을 사용하는 환경에서는 php.ini 수정만으로는 세션 경로가 반영되지 않을 수 있습니다. 이 경우 /etc/php-fpm.d/www.conf 파일 내의 php_value[session.save_path] 설정 값을 함께 변경해야 정상적으로 적용됩니다.

Q. 세션 저장 폴더의 퍼미션을 777로 변경할 때 주의할 점은 무엇인가요?

  • 막히는 지점 및 주의사항: chmod 777 명령어는 모든 사용자에게 읽기·쓰기·실행 권한을 부여하므로 문제 해결에는 빠르지만 보안상 취약할 수 있습니다. 운영 환경에서는 웹서버 실행 계정에 맞춰 소유권을 조정하거나 권한 범위를 제한하는 방식을 검토해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.