>> Edit article
이름
제목
패스워드
저같은 경우는 그림게시판 설치할려고 몇일 고생했습니다. 그런데 아파치 영문메뉴얼에 보니깐 이리저리 영어로 나왔데요~~^^; 제가 해결한 방법은 lynx -mime_header http://localhost/perl/myscript 게 해보면 에러나 나오는데.. 처음 써주는 펄 부분에서 #!/usr/bin/perl 를 | | #!/usr/bin/perl -w 게 바꿔주니깐 되더라 구요~~ 신기하게도~~~~~ 혹시 이걸로 해결되는 분덜~~~~~~~~~~ 연락줘요~~~~~~~~~~ 궁금하니껀~~~~~~~~~ : wowlinux7.0 X-MAS releas 버전을 사용하고 있는데요. : cgi가 실행이 되질 않네요... : 퍼미션 조정두 모두 해놓구.... : 그룹두 마춰주고 : httpd.conf파일도 손봐주고 했는데요... : 그래도 안되네요... : 아래 cgi파일은 flash counter라고 하는 플래쉬로 구현된 카운터 프로그램인데요. : cgi가 동작을 하지않아서 쓰지 못하고 있어요... : 다른 분들은 잘 사용하고 게시던데... : 쩝.... : 웹에서 불러들이면 Internal server Error가 나오고요(내용은 아래쪽에...) : error_log를 보면 Premature end of script headers라는 에러가 나오는데요 : 남들은 잘 쓰는 cgi가 왜 전 쓸수 없는걸까요? : 혹 이거 해결해 주실분 있으시면 감사 또 감사하겠습니다... : : ^^리눅서 화이팅...!! : : : : ************실행시키고자 하는 cgi파일... : : #!/usr/bin/perl : # : : #설정___###################################################################### : : $cgi = "./count.cgi"; #CGI스크립트가 있는 주소 : $file = "./count.txt"; #로그파일이 있는 주소 : $cookiename = 'count'; #쿠키이름(변경가능) : $dday = 90; #쿠키의 기한일 : $uselock = 0; #락 사용여부(0=no 1=yes) : : ################################################################################ : # : : &lock_open(CNT, "+<$file"); : : $cnt = <CNT>; : ($total_c,$yesterday_c,$today_c,$lastday) = split(/,/, $cnt); : : $total_c++; : $today_c++; : $your_c = &get_cookie($cookiename) + 1; : #####오늘과 어제의 연월일 취득 : $ENV{'TZ'} = 'JST-9'; : ( $sec, $min, $hour, $day, $mon, $year ) = localtime(time); : ($sec2, $min2, $hour2, $day2, $mon2, $year2 ) = localtime(time-24*60*60); : : $mon++; : $year += 1900; : $today = "$year-$mon-$day"; : : $mon2++; : $year2 += 1900; : $yesterday = "$year2-$mon2-$day2"; : : #####연월일 비교 : if ($today ne $lastday) { : : if ($yesterday ne $lastday) { : $yesterday_c = 0; : } else { : $yesterday_c = $today_c; : } : $today_c = 1; : $lastday = $today; : } : : #####6자리수 변환 : $total_c = sprintf("%06d", $total_c); : $today_c = sprintf("%06d", $today_c); : $yesterday_c = sprintf("%06d", $yesterday_c); : $your_c = sprintf("%06d", $your_c); : : seek(CNT, 0, 0); : print CNT "$total_c,$yesterday_c,$today_c,$lastday"; : : &unlock_close(CNT); : : #####HTTP헤더 : print "Content-type: text/plain"; : &set_cookie($cookiename); : print ""; : print "cgi=$cgi&total=$total_c&yes=$yesterday_c&today=$today_c&you=$your_c&load= : end&"; : : exit(0); : : #####파일락 열기 : sub lock_open { : local(*FILE, $name) = @_; : if (!open(FILE, $name)) { : print "content-type: text/plain"; : print "$name파일을 열 수 없습니다."; : exit(0); : } : if ($uselock) { : eval("flock(FILE, 2)"); : if ($@) { : print "content-type: text/plain"; : print "$@이 환경에서는 flock 은 사용할 수 없습니다$usel : ock = 0 으로 해주세요"; : exit(0); : } : } : seek(FILE, 0, 0); : } : : #####파일락 닫기 : sub unlock_close { : local(*FILE) = @_; : if ($uselock) { : eval("flock(FILE, 8)"); : } : close(FILE); : } : : #####===쿠키처리===############################################################# : ############### : : #####쿠키유효기간 : sub get_cookie_date { : $ENV{'TZ'} = 'JST-9'; : my( $csec, $cmin, $chour, $cday, $cmon, $cyear, $cwday ) : = localtime(time + $dday*60*60*24); : my(@month) = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); : my(@week) = qw(Sun Mon Tue Wed Thu Fri Sat); : return sprintf("%s, %d-%s-%04d %02d:%02d:%02d GMT", : $week[$cwday],$cday,$month[$cmon+1],$cyear+1900, : $chour,$cmin,$csec); : } : : #####쿠키의 출력 : sub set_cookie { : local($cookiename2) = @_; : sub set_cookie { : local($cookiename2) = @_; : $cookiedate = &get_cookie_date; : : print "Set-Cookie: $cookiename=$your_c; expires=$cookiedate; "; : } : : #####쿠키의 취득 : sub get_cookie { : local($cookiename1) = @_; : @pairs = split(/; /, $ENV{'HTTP_COOKIE'}); : foreach $pair (@pairs) { : ($name, $value) = split(/=/, $pair); : if ($name eq $cookiename) { : return $value; : } : } : return ''; : : } : : : : ******웹에서 cgi파일 호출시******** : : Internal Server Error : The server encountered an internal error or misconfiguration and was unable to complete your request. : Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. : : More information about this error may be available in the server error log. : : : : -------------------------------------------------------------------------------- : : Apache/1.3.14 Server at localhost.localdomain Port 80 : : ******error log ******* : [Fri Jan 19 17:55:58 2001] [error] (2)No such file or directory: exec of /var/ww : w/cgi-bin/count.cgi failed : [Fri Jan 19 17:55:58 2001] [error] [client 210.96.232.168] Premature end of scri : pt headers: /var/www/cgi-bin/count.cgi : [Fri Jan 19 17:56:27 2001] [error] (2)No such file or directory: exec of /var/ww : w/cgi-bin/count.cgi failed : [Fri Jan 19 17:56:27 2001] [error] [client 210.96.232.168] Premature end of scri : pt headers: /var/www/cgi-bin/count.cgi : : -- : 이 곳에 서명을 적어주십시오. : 리눅서 화이팅!!
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved