메모智 유머사진 환영합니다, 손님!    메모지 | 회원가입 | 로그인
검색도움말 메모지 검색
  재미메모智.COM 설치   •   메모智 홈   •   바깥고리   •   전체 메모智 목록   •   회원가입   •   로그인   •   도움말   •  
 
PHP에서 move_uploaded_file() 함수가 작동하지 않을 때... (move_uploaded_file();SELinux;system-config-selinux;파일업로드;file upload;PHP;)
메모智 -> 리눅스; php;
PHP에서 move_uploaded_file() 함수가 작동하지 않을 때...
SELINUX-httpd-allow.png PHP에서 move_uploaded_file() 함수가 작동하지 않을 때...
/etc/http/conf/httpd.conf, /etc/PHP.ini, 디렉토리 권한 등등등... 웹에서 찾은 모든 방법을 동원해도 PHP에서 파일이 올라가지 않는 경우가 있다.

/var/log/httpd/error_log를 살펴보면

[Mon Dec 13 13:26:54 2010] [error] [client 아이피.아이피.IP.IP] PHP Warning: move_uploaded_file(/var/www/html/uploads/s02_6.xls): failed to open stream: Permission denied in /var/www/html/uploader.php on line 31, referer: http://아이피.아이피.IP.IP/uploader.php

와 같이 스트림을 열 수 없고 (권한이 없어서...) 그래서 실패...

이 경우는 거의 100% SELinux 때문에 발생하는 문제다....

해결책은 SElinux에게 아파치 웹 포트는 허용하라고 설정을 바꿔주면 된다.
(아래는 페도라(Fedora) 12에서 검증한 것임)

# system-config-selinux

위의 명령어를 root 상태에서 실행하고 "프로세스 도메인" 부분으로 가서 httpd의 Mode를 허용으로 바꿔주면 됨(요때 시간이 좀 걸림)

끝...
작성자: 써기 추천수: 0 첨부파일: 등록일: 공개 MEMO
이 메모智에 달린 꼬리표 #move_uploaded_file() #SELinux #system-config-selinux #파일업로드 #file upload #PHP 로그인후 꼬리표 입력가능 회원만 꼬리표 입력 가능합니다.

 

drupal hit counter

Site Stat
검색
Custom Search
모든 지식은 개인의 소유입니다.
그 외의 다른 내용은 Copyright © since 2010, 메모智.com이 가집니다.
메모지사용시 주의사항연락처powered by 크리스탈