디렉토리 생성이 안되는데 문제가 뭘까요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

디렉토리 생성이 안되는데 문제가 뭘까요? 정보

디렉토리 생성이 안되는데 문제가 뭘까요?

본문

Warning: mkdir(): open_basedir restriction in effect. File(/data/info) is not within the allowed path(s): (/home/jejugatour:/var/tmp:/tmp:/usr/local) in /home/jejugatour/jfc/info/info.lib.php on line 95
================== Error Message ===========================
 
에러 메시지 내용입니다.
그누보드4를 웹서비스 루트에 설치하여서 /data 디렉토리가 있습니다.
현재 이 곳은 Ower.Group이 nobody,nobody로 되어 있습니다.
ftp 로 파일을 올리면서 디렉토리를 만들어서 퍼미션 문제인 줄 알고
다시 지우고 웹 소스상에서
mkdir("$g4[path]/info", 0707);
이렇게 했는데 디렉토리가 생성이 안되고 에러만 납니다.
그런데 어드민에서 게시판을 생성하면 게시판은 제대로 생성이 됩니다.
답답하네요. 무엇이 문제일까요?
  • 복사

댓글 전체

info.lib.php on line 95

어떤 내용이 담겨있을까요?

상기된 오류메시지 중에서 open_basedir~*
경로지정(path)에서 '/'의 포함여부도 체크해 보실 필요가 보여집니다.
(관리자 권한을 갖고 있다면...)

팁앤테크 > 관리자(kagla)님의 게시물 참조.
function insert_tour_info(){
$table = "kr_tour_info";
$uname = "inf_uid";
$int_uid = intval(trim($_REQUEST[int_uid])); //정보분류 고유번호 대분류/소분류
$area = trim($_REQUEST[area]); //지역분류
$name = trim($_REQUEST[name]); //관광지, 업소명
$m_desc = trim($_REQUEST[m_desc]); //메인 설명
$zip1 = trim($_REQUEST[zip1]); //우편번호1
$zip2 = trim($_REQUEST[zip2]); //우편번호2
$addr1 = trim($_REQUEST[addr1]); //주소1
$addr2 = trim($_REQUEST[addr2]); //주소2
$phone = trim($_REQUEST[phone]); //전화번호
$fax = trim($_REQUEST[fax]); //팩스번호
$map_desc = trim($_REQUEST[map_desc]); //안내도 설명
$remark = trim($_REQUEST[remark]); //안내도 설명
$desc = array();
$fare = array();
$desc_sql = "";
$desc_val = "";
for($i=0; $i<count($_REQUEST[desc]); $i++){
$desc[$i] = trim($_REQUEST[desc][$i]); //사진 i번 설명
$desc_sql = $desc_sql.sprintf("inf_desc%d, ", $i+1);
$desc_val = $desc_val.sprintf("'%s', ", $desc[$i]);
}
$fare_sql = "";
$fare_val = "";
for($i=0; $i<count($_REQUEST[fare]); $i++){
$fare[$i] = trim($_REQUEST[fare][$i]); //i번의 가격, 설명과 1:1 연결이 되지는 않는다.
$fare_sql = $fare_sql.sprintf("inf_fare%d, ", $i+1);
$fare_val = $fare_val.sprintf("'%s', ", $fare[$i]);
}
$car_num = trim($_REQUEST[car_num]); //주차가능대수
$car_fee = trim($_REQUEST[car_fee]); //승용주차료
$van_fee = trim($_REQUEST[van_fee]); //승합주차료
$open_time = trim($_REQUEST[open_time]); //개장시간
$see_time = trim($_REQUEST[see_time]); //관람소요시간
$group = trim($_REQUEST[group]); //단체기준인원
$x_value = intval(trim($_REQUEST[x_value])); //지도 X 값
$y_value = intval(trim($_REQUEST[y_value])); //지도 Y 값

$query = "INSERT INTO $table (
inf_int_uid, inf_area, inf_name, inf_m_desc,
inf_zip1, inf_zip2, inf_addr1, inf_addr2,
inf_phone, inf_fax, inf_map_desc, inf_remark,
$desc_sql
inf_car_num, inf_car_fee, inf_van_fee, inf_open_time, inf_see_time,
$fare_sql
inf_group,inf_x_value,inf_y_value,inf_up_date,inf_aid
) VALUES (
'$int_uid', '$area', '$name', '$m_desc',
'$zip1', '$zip2', '$addr1', '$addr2',
'$phone', '$fax', '$map_desc', '$remark',
$desc_val
'$car_num', '$car_fee', '$van_fee', '$open_time', '$see_time',
$fare_val
'$group', '$x_value', '$y_value', 'unix_timestamp()', 'www'
)";
//echo $query;
//exit();
sql_query($query);
$seq_id = mysql_insert_id();

$target_path = "$g4[path]/data/info";
// 디렉토리가 없다면 생성합니다. (퍼미션도 변경하구요.)
mkdir("$g4[path]/data/info", 0707);
chmod("$g4[path]/data/info", 0707);
$query = "";
$m_image_arr = array(); //메인 이미지
upload_single_file($m_image_arr, $target_path, $table, "inf_m_image", $uname, $seq_id);
if(count($m_image_arr)>0){
$query = $query."inf_m_image = '$m_image_arr[dest]',";
}
$map_arr = array(); //안내 지도
upload_single_file($map_arr, $target_path, $table, "inf_map", $uname, $seq_id);
if(count($map_arr)>0){
$query = $query."inf_map = '$map_arr[dest]',";
}
$etc_arr = array(); //기타 설명글
upload_single_file($etc_arr, $target_path, $table, "inf_etc", $uname, $seq_id);
if(count($etc_arr)>0){
$query = $query."inf_etc = '$etc_arr[dest]',";
}
$image_arr = array(); //추가 이미지
upload_plural_file($image_arr, $target_path, $table, "inf_image", $uname, $seq_id);
for($i=0; $i<count($image_arr); $i++){
$idx = sprintf("inf_image%d", $i+1);
$query = $query."$idx = '$image_arr[$i][dest]',";
}

if(strlen($query)>0){
$query = substr($query, 0, -1);
$query = "UPDATE $table SET $query WHERE $uname = $seq_id";
sql_query($query);
}

echo $query;
exit();
return $seq_id;
}

올라갈려나 모르겠지만.. 소스파일입니다. 함수호출형태로 되어 있습니다.
어디가 틀린 것인지  도움 부탁드립니다.
© SIRSOFT
현재 페이지 제일 처음으로