[완료] 윈도우2000 APM 5(PHP_4.4.2)(mysql_4.0.26-nt-max)(Apache_1.3.34) 에서 Cent OS 로 홈페이지 옮기기

zamia의 이미지

3일째 삽질하다 허리 끊어질 정도로 초짜가 퍼덕퍼덕 하다 못해 가라안고 있습니다. ㅠㅠ
 
제목대로 
 
윈도우2000 APM 5(PHP_4.4.2)(mysql_4.0.26-nt-max)(Apache_1.3.34) 에서 Cent OS 로 홈페이지 옮기는 작업을
하고있습니다. Cent OS(PHP 5.1.6) (mysql 5.0.8)(Apache_ 2.0.59) 입니다.
 
옮기는 것은 폴더 tgz로 압축해서(알집으로) FTP를 이용하여업로드후 CentOS에다가 풀었습니다.
DB는 mysqldump -uxxxx -p db명 > backup.sql 로 뜬후 
mysql -uxxx -p db명 < backup.sql 로 넣어주었습니다.
 
물론 DB계정 생성시 관련 권한(Localhost,%) 쪽으로 다주었고 필요한 권한 Select,insert 등도 Y로 주어서 처리 했습니다. 
 
1차 문제 Database 명을 대소문자 구분하더군요.. 하여 my.cnf 에서 lower_case_table_name = 1 로 바꾸어줄라다가
이미 CS로 사용하는 DB가 있어서 이러지도 못하고 저러지도 못하고 하여 옮겨온 홈페이지 DB Table 네임을 
alter table table명 rename table명 으로 대문자 주고 바꾸어 주니 DB가 잘붙고 게시판 기능도 정상으로 되었습니다. 
 
가장큰 문제 미해결...
 
로그인이 안되고 하얀 백지만 나옵니다. 
php를 잘몰라서 소스를 올립니다. 
===================================================================================
DbConn.php 부분입니다.
<?
	$Db_Name = "xxxxxx"; 
	$Db_User = "xxxx"; 
	$Db_Pass="xxxx"; 
	$sql_ip="???.??????.???"; <--- 요거에 도메인도 넣어봤구요 IP도 넣어봤구요, Localhost 도 넣어봤습니다.(모두 연결됩니다.)
	$_dbconn = mysql_connect("$sql_ip","$Db_User","$Db_Pass") or die("DB connect error");
	mysql_select_db("$Db_Name",$_dbconn);
?>
 
=========================================================================================
로그인 메인 페이지 부분
main.php
 
<? header('P3P: CP="NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE"');
	include "include/head_index.php";
	include "include/DbConn.php";
	include "include/Tpl_Header.php";
 
	$from = $PHP_SELF;	
?> 
<script language=javascript>
<!--
	function login() {
		var f = document.logform;
 
		if (f.uid.value == "") {
			alert("ID를 입력해 주세요");			f.uid.focus();
			return;
		}
		if (f.pwd.value == "") {
			alert("Password를 입력해 주세요");	f.pwd.focus();
			return;
		}
 
		f.action = "/08_member/DoLogin.php";
		f.submit();
	}
 
	function logout() {
		document.logform.action = "<?=$memPath?>/logout.php?skinm=<?=$skinm?>";
		document.logform.submit();
	}
 
	function join(url) {
		window.open(url,'회원가입','width=620,height=500,left=300,top=200,scrollbars=yes');		
	}
 
	function edit(url2) {
		window.open(url2,'회원정보수정','width=620,height=500,left=300,top=200,scrollbars=yes');		
	}
 
	function findpwd(url) {
		window.open(url,'비밀번호찾기','width=422,height=300,left=300,top=200,scrollbars=no');		
	}
//-->
</script>
  <tr>
    <td valign="top"><table width="870"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="395" align="left" valign="bottom"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="380" height="480">
          <param name="movie" value="visual.swf">
          <param name="quality" value="high">
          <embed src="visual.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="380" height="480"></embed>
        </object></td>
        <td valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="54"><table width="100%" height="32"  border="0" cellpadding="0" cellspacing="0" bgcolor="E9E9E9">
<form name=logform method=post action="">
<input type=hidden name=from value="<?=$from?>">
<?	if($session_id)	{ ?>
			  <tr>
                <td width="110"><img src="images/00_login_title.gif" width="110" height="32"></td>                
                <td style="padding-left:10px"><?=$session_name?>님 환영합니다!</td>
                <td width="140"><a href="08_member/member_01_edit.php" onfocus="this.blur();"><img src="images/bt_privateedit.gif"hspace="10" border="0" align=absmiddle></a><a href="08_member/Logout.php?from=<?=$from?>" onfocus="this.blur();"><img src="images/bt_logout.gif" border="0"></a></td>
                <td width="5"><img src="images/00_login_right.gif" width="5" height="32"></td>
              </tr>
<?	} else {		?>            
              <tr>
                <td width="110"><img src="images/00_login_title.gif" width="110" height="32"></td>
                <td width="40" align="right"><img src="images/00_login_id.gif" width="8" height="32" hspace="4"></td>
                <td><input name="uid" type="text" class="input_login" size="10" style="ime-mode:disabled"></td>
                <td width="30" align="right"><img src="images/00_login_pw.gif" width="12" height="32" hspace="4"></td>
                <td><input name="pwd" type="password" class="input_login" size="10"></td>
                <td width="140"><input type=image src="images/00_login_bt.gif" width="36" height="17" hspace="10" border="0" onmouseover="this.style.cursor='hand';" align=absmiddle onclick="javascript:login();" onfocus="this.blur();"><a href="javascript:findpwd('08_member/search.php');" onfocus="this.blur();"><img src="images/00_login_search_bt.gif" width="66" height="17" border="0"></a></td>
                <td width="5"><img src="images/00_login_right.gif" width="5" height="32"></td>
              </tr>
<? } ?>          
</form>    
 ~~~ 쭉 이어지는 소스는 게시판 항목 5개씩 조회해서 보여주는 소스인데 길어서 패스 
 
=========================================================================================================
DoLogin.php 소스 부분 입니다. 
 
<? header('P3P: CP="NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE"');
 session_start();  ?>
<?	
	include "../Include/DbConn.php";	
	include "../Include/Tpl_Header.php";
	include "../Admin/Include/AdminInfo.php";	
 
if ($admin_id != $uid) {
 
	$query = "select id,pwd,name,email,homepage from Members where id='$uid'";
	$result = mysql_query($query,$_dbconn) or die(mysql_error());	
	if($result)	$result_count = mysql_num_rows($result);
	else $result_count = 0;
 
	if ($result_count < 1) {		?>
<script language=javascript>
<!--
	alert("존재하지 않는 아이디 입니다.");		history.back();
//-->
</script>
<?		
	} else {
		while($fields = @mysql_fetch_array($result,MYSQL_ASSOC))	{
 
			if ($fields["pwd"] != $pwd) {	?>
<script language=javascript>
<!--
	alert("비밀번호가 일치하지 않습니다.");		history.back();
//-->
</script>
<?			
			} else
				$session_id = $fields["id"];
				$session_email = $fields["email"];
				$session_name = $fields["name"];
				$session_home = $fields["homepage"];				
 
				session_register("session_id");
				session_register("session_email");
				session_register("session_name");
				session_register("session_home");				
 
				//SetCookie( "savelogin", $fields['id']);			
 
				movepage($from);
			}
 
		mysql_free_result($result);
	}		
} else {
	if ($pwd == $admin_pwd) {
		$session_id = $admin_id;
		$session_email = $admin_mail;
		$session_name = $admin_name;
		$session_home = $admin_home;					
 
		session_register("session_id");
		session_register("session_mail");
		session_register("session_name");
		session_register("session_home");				
 
		movepage($from);
	} else {
?>
<script language=javascript>
<!--
	alert("비밀번호가 일치하지 않습니다.");		history.back();
//-->
</script>
<?
	}
}
?>
=========================================================================================
Tpl_Header.php 부분 입니다. 
 
<?
	$TPL_PATH = $_cur_dir."/Board";
	$pagesize = 12;
	$skippage = 10;	
function msgback($msg)
{
	echo "<script language=javascript>\n\r";
	echo "alert(\"".$msg."\");\n\r";
	echo "history.back();\n\r";
	echo "</script>";
	exit;
}
function isblank($str) {
	$temp=str_replace(" ","",$str);
	$temp=str_replace("\n","",$temp);
	$temp=strip_tags($temp);
	$temp=str_replace("&nbsp;","",$temp);
	$temp=str_replace(" ","",$temp);
	if(eregi("[^[:space:]]",$temp)) return 0;
	return 1;
}
function movepage($url) {
	global $dbconn;
	echo"<meta http-equiv=\"refresh\" content=\"0; url=$url\">";
	if($dbconn) @mysql_close($dbconn);
	exit;
}
function isAllowExt($fname,$more)
{
	if($more){
		$bret = false;
		$more = explode(",",$more);
		for($i=0;$i<count($more);$i++) {
			if(eregi("(\.".trim($more[$i]).")$",$fname)) {
				$bret = true;
				break;
			}
		}
		return $bret;
	}
 
	if( eregi("(\.php)$",$fname) ||
		eregi("(\.phtm)$",$fname) ||
		eregi("(\.inc)$",$fname) ||
		eregi("(\.htm)$",$fname) ||
		eregi("(\.html)$",$fname) ||
		eregi("(\.shtm)$",$fname) ||
		eregi("(\.shtml)$",$fname) ||
		eregi("(\.asp)$",$fname) ||
		eregi("(\.pl)$",$fname) ||
		eregi("(\.vbs)$",$fname) ||
		eregi("(\.cgi)$",$fname) )
		return false;
	else
		return true;
}
// By ZBoard
function autolink($str) {
	// URL 치환
	$homepage_pattern = "/([^\"\'\=\>])(mms|http|HTTP|ftp|FTP|telnet|TELNET)\:\/\/(.[^ \n\<\"\']+)/";
	$str = preg_replace($homepage_pattern,"\\1<a href=\\2://\\3 target=_blank>\\2://\\3</a>", " ".$str);
 
	// 메일 치환
	$email_pattern = "/([ \n]+)([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)/";
	$str = preg_replace($email_pattern,"\\1<a href=mailto:\\2@\\3>\\2@\\3</a>", " ".$str);
	return $str;
}
function getSizeString($size, $flag /* "kb" or "mb" */) {
	if(!$size) $str = "0 Byte";
	if(eregi("kb",$flag)) {
		$str = sprintf("%0.2f KByte",$size/1024);
	}
	else if(eregi("mb",$flag)) {
		$str = sprintf("%0.2f MBytes",$size/(1024*1024));
	}
	else{
		$str = sprintf("%0.2f KBytes",$size/1024);
	}
	return $str;
}
function getSafeImgSize($img)
{
	$width = 500;
	$s = getimagesize($img);
	$iwidth = $s[0];
 
	if ($iwidth > $width){
		$iwidth = $width-20;
	}
	return " width=$iwidth ";
}
function getCutString($str, $len) 
{
	if ($len >= strlen($str)) return $str;
 
	$klen = $len - 1;
 
	while(ord($str[$klen]) & 0x80) $klen--;
 
	return substr($str, 0, $len - (($len + $klen + 1) % 2));
}
function fileremove($filepath) { 
	$delete = @unlink($filepath); 
	if (@file_exists($filepath)) { 
		$filesys = eregi_replace("/","\\",$filename); 
		$delete = @system("del $filesys"); 
		if (@file_exists($filepath)) { 
			$delete = @chmod ($filepath, 0775); 
			$delete = @unlink($filepath); 
			$delete = @system("del $filesys");
		}
	}
	return $delete;
}
 
 
?>
=============================================================================
 
 
3일 삽질하다 하다 보니 PHP 버젼이나 Mysql 버젼이 상위 버젼으로 되면서 여러가지 설정을 변경해야 되는 것을 알았습니다. 
 
하여 OLD_PASSWORD=1 , register_globals = on, register_long_arrays = on, 도 하였습니다. 
 
헌데 위에 항목하고는 관계가 없는듯 보입니다. 홈페이지 게시판은 직접 4년전에 구축된거라 직접 구현한 게시판입니다. 
 
다른 게시판 항목 조회 보기 등은 이상없이 되나 Id,PWD 넣은다음 Login 만 누르면 백지가 나오고 하다못해 잘못된 ID를 넣으면
 
잘못된 아이디라고 멘트라도 나와야하는데 그렇지가 못합니다 
 
의심되는 부분이 Session()부분과 main.php 에서 DoLogin.php 로 넘어 가지를 않는다는 거죠. 이것을 어떻게 해결해야 될지 
 
고수님의 의견 부탁 드립니다. ㅠㅠ..

zamia의 이미지

include "../Include/DbConn.php";
include "../Include/Tpl_Header.php";
include "../Admin/Include/AdminInfo.php";

경로 대소문자 문제였습니다. ㅠㅠ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.