Extra Form
PHP PHP 8.0
CMS Rhymix 2.x

안녕하세요.

 

서버환경은 nginx 1.19.6, PHP 8.0.0이며 rhymix 2.0.4 설치되어 있습니다.

 

1. 게시판에서 글 작성 시에는 파일 첨부가 잘 됩니다.

 

2. 하지만 레이아웃 수정을 위해서 파일 첨부 하려고 할 때, 예를 들어 XEDITION 레이아웃 v1.9에서 슬라이드 이미지를 선택하고 "등록"버튼을 누르면 서버로 파일이 전송되어 /files/attach/.../tmp 까지만 업로드되어 있고, 실제로 그 이후에 마땅히 진행되어야 할 행동(설정 페이지에 첨부한 이미지가 보인다던가, tmp 폴더가 아니라 적절한 폴더로 이미지가 전송된다던가..)이 보이지 않고 있습니다.

 

3. nginx의 error.log를 살펴봐도 딱히 나오는 것이 없고, 질답게시판에 몇몇 키워드로 검색해 보았으나 딱히 답이 없네요.

files 폴더와 그 하위 디렉토리들은 707 권한이 부여되어 있습니다.

 

좀 난감하네요. 혹시 이런 경험 있으신 분 계신지요?

  • profile
    files 하위 폴더를 777로 퍼미션 바꿔보시몀 될것 같은데요
  • profile profile

    707 777 모두 해 보았습니다만 그대로입니다. 적어둔다는걸 깜박했습니다.ㅠ 권한문제는 아닙니다. 아래와 같이 진행된 상태입니다.

    chown -Rf www-data:www-data files/

    chmod -R 777 files/

    (www-data는 nginx와 php-fpm의 user명임)

  • profile

    파일을 선택하고 등록 버튼을 누르면 files/attach/images/레이아웃/고유번호/tmp/파일명으로 업로드되는 것이 정상입니다. 설정을 저장해야 최종 경로로 이동됩니다. 물론 tmp로 되어 있을 때도 설정 화면에 이미지는 나와야 합니다.

     

    tmp 경로에 있는 파일을 불러오지 못해서 이미지가 보이지 않는 것인지, 설정 저장시 이동이 되지 않는 것인지, 아니면 이동은 잘 되었는데 이동한 경로의 이미지를 제대로 불러오지 못하고 있는 것인지 각각 구분하여 확인해보실 필요가 있겠습니다. 현재 2.0.4 테스트 서버에서는 모든 과정이 정상적으로 이루어지고 있습니다.

  • profile profile

    tmp 경로에 업로드가 진행된 파일을 불러오지 못합니다. 같은 서버 환경에 클린설치 해봤는데도 그러니 그럼 서버환경 문제일까 하네요.

    참 이상한게 다른곳의 파일첨부는 다 됩니다. 본문에 언급한 글작성시가 아니더라도 관리자페이지의 파일박스도 잘 동작합니다.

  • profile profile
    서버설정과 코드를 뒤져보다가 답을 찾았습니다. nginx에서 X-Frame-Options SAMEORIGIN;으로 설정하면 됩니다. 기존에는 deny로 설정해 두었는데 그게 오류였습니다.
  • profile profile
    아, 그게 프레임으로 구현된 것이었군요.