| /usr/sbin/httpd | 실행파일 |
| /ets/mine.types | 기본 MIME 형식 |
| /etc/httpd/logs | 에러, 사용 기록 등을 남기는 디렉토리 |
| /etc/httpd/modules | 동적 모듈들이 위치하는 디렉토리 |
| /etc/httpd/conf/httpd.conf | 설정파일 |
| /etc/httpd/conf/magic | mime_magic 모듈이 사용하는 MIME형식 |
| /etc/httpd/log는 실제로는 /var/log/httpd에 위치! | |
| /etc/httpd/logs/access_log | 홈페이지에 접속한 기록을 저장하는 파일입니다. 나중에 접속자 분석, 트래픽 분석에 유용하게 사용됩니다. |
| /etc/httpd/logs/error_log | 서버에서 일어난 에러들을 저장하는 파일입니다. CGI 프로그램에서의 에러, HTML에서의 잘못된 경로 등이 모두 기록되므로, 에러 수정시 참고하면 쉽게 오류 원인을 알 수 있습니다. |
| ServerType standalone | Apache의 실행을 서비스 요청에 반응하여 독자적으로 실행되게 할 지(standalone), inetd라는 별도 관리 데몬의 명령에 의해 서비스되어질 것인지를 결정합니다. 보안상으로는 inetd가 좋지만 속도가 떨어집니다. inetd방식으로 사용하는 경우는 거의 없습니다. |
| Port 80 | 기본적으로 http(WWW)의 포트는 80입니다. 다른 포트를 설정한다면 접속할때도 그 포트로 접속해야합니다. |
| MinSpareServers 9 | 웹서버 기능을 할 프로세스를 속도를 위해서 미리 만들어놓고 대기하는데, 그 프로세스의 최소대기수와 최대수, 그리고 웹서버 시작시 쓸 프로세스 숫자입니다. 프로세스 상황을 알아보려면 #ps ax 해보세요~ |
| MaxSpareServers 20 | 웹서버 기능을 할 프로세스를 속도를 위해서 미리 만들어놓고 대기하는데, 그 프로세스의 최소대기수와 최대수, 그리고 웹서버 시작시 쓸 프로세스 숫자입니다. 프로세스 상황을 알아보려면 #ps ax 해보세요~ |
| StartServers 10 | 웹서버 기능을 할 프로세스를 속도를 위해서 미리 만들어놓고 대기하는데, 그 프로세스의 최소대기수와 최대수, 그리고 웹서버 시작시 쓸 프로세스 숫자입니다. 프로세스 상황을 알아보려면 #ps ax 해보세요~ |
| MaxClients 150 | 동시 최대 프로세스 수 256개가 한계이고 넘어서는 수는 새로 컴파일해야한다. |
| MaxRequestsPerChild 100 | 한 프로세스가 몇 번의 서비스를 하고 소멸된 것인지를 정하는 값이다. 0을 적으면 한 번 생성한 프로세스는 서비스를 계속하여도 소멸되지 않는다. |
| #BindAddress * | 웹 호스팅을 하거나 한 개의 도메인이 아니라 여러 개의 도메인을 사용한다면 위의 주석을 제거해야한다. |
| User nobody | 서버를 구동할 User와 Gruop입니다. nobody인지 확인하고 사용! |
| Group nobody | 서버를 구동할 User와 Gruop입니다. nobody인지 확인하고 사용! |
| ServerAdmin root@localhost | 관리자의 주로 쓰는 주소를 쓰면 되겠죠? |
| #ServerName minky.msql.co.kr | Apache가 한개의 도메인을 서비스할 때는 그 도메인의 이름을 적고 주석(#)을 제거하면 됩니다. 여러 개의 도메인을 서비스하는 경우에는 대표 도메인 네임을~ |
| DecumentRoot "/home/httpd/html" | 메인 홈페이지의 위치 |
| UserDir public_html | 다른 유저들의 기본 홈페이지 디렉토리. 요즘은 "WWW"을 많이 쓰네요. |
| DirectoryIndex index.html index.shtml index.cgi | 디렉토리까지만 인덱스했을 때 자동으로 표시될 파일명 순서. |
| #CustomLog logs/referer-log refer | logs/referer-log, agent_log, access_log 등은 파일명이다. 각각 [ 홈페이지 접근시 어디를 통해서 들어왔는지를 기록 ] , 홈페이지 접근에 사용한 웹브라우저와 사용자 정보가 기록 , [ 모든 것이 합쳐진 access_log 파일 ]이다. |
| #CustomLog logs/agent_log agent | logs/referer-log, agent_log, access_log 등은 파일명이다. 각각 [ 홈페이지 접근시 어디를 통해서 들어왔는지를 기록 ] , 홈페이지 접근에 사용한 웹브라우저와 사용자 정보가 기록 , [ 모든 것이 합쳐진 access_log 파일 ]이다. |
| #CustomLog logs/access_log combined | logs/referer-log, agent_log, access_log 등은 파일명이다. 각각 [ 홈페이지 접근시 어디를 통해서 들어왔는지를 기록 ] , 홈페이지 접근에 사용한 웹브라우저와 사용자 정보가 기록 , [ 모든 것이 합쳐진 access_log 파일 ]이다. |
<?php .................. PHP 명령어들 .................. ?>
<?php .................. PHP 명령어들 // 주석문장들 /* 이 부분은 실행되지 않습니다. 여기도 실행되지 않습니다.*/ 이 문장은 실행됩니다.. 결국 에러를 일으키겠지만..--; .................. ?>
<?
$a = 1234;
$b = "zelon";
>?
| \n | 커서를 다음 라인 처음으로 넘깁니다. |
| \r | 엔터입니다. |
| \t | 탭키입니다. |
| \\ | \를 출력할 때 쓰입니다. |
| \$ | $를 출력할 때 쓰입니다. |
| " | "를 출력할 때 쓰입니다. |
<?
// 상수 지정 Test
define("zelon", "aaa@aaaa.com");
$a = zelon;
echo($a);
?>
| sizeof(배열명) | 배열이 몇 개의 구성요소로 되어있는지 반환 |
| array_push(배열이름, 추가요소, 추가요소....) | 배열의 끝에 계속 추가합니다. |
| array_unshift(배열이름, 추가요소, 추가요소....) | 배열의 앞에 추가합니다. |
| array_pop(배열명) | 제일 마지막 요소를 삭제. 그 요소를 반환 |
| array_shift(배열명) | 제일 앞의 요소를 삭제. 그 요소를 반환 |
| array_slice(뽑아낼 배열, 위치, 길이) | 배열의 일부만을 뽑아내어서 반환 |
| array_splice(배열 이름, 위치, 길이, 바꿀 내용) | 배열의 일부를 지우거나, 바꾸기 |
| array_keys(배열 이름) | 연관 배열의 키 값을 뽑아서 배열로 반환 |
| array_values(배열) | 연관 배열의 값들을 배열로 반환 |
| array_merge(배열1, 배열2, ..) | 배열을 합칩니다. |
| asort(배열) | 연관 배열을 정렬하고 인덱스를 유지 |
| ksort(배열) | 연관 배열을 키로 역순 정렬 |
$a = >>> TEXT <html> <body> Hi~ </body> </html> TEXT; echo $a;
:: 문자열 합치기
[ $a = $b . %c ] 점 연산자('.')를 쓰면 문자열을 합칠 수 있다. 여기서는 b와 c를 합쳐서 a에 넣는다. 간단한 방법으로 [ $a .= $c ]를 하면 a의 뒤에 c를 붙인 a를 만들어낸다.
:: 문자열 길이 알아내기
[ strlen(변수 혹은 문자열); ]을 하면 문자열의 길이를 반환해준다.
:: 문자열을 역순으로 바꾸기 ::
[ strrev(변수 혹은 문자열); ]를 하면 앞뒤가 바뀐 문자열을 돌려줍니다. 원래의 변수에는 영향이 없습니다. 단, 한글은 지원하지 않습니다.
:: 문자열의 공백, 한 자 제거
[ chop(변수 혹은 문자열); ] 문자열 끝의 공백과 \n을 제거한 문자열을 돌려줍니다.
:: 문자열 시작 공백을 제거합니다.
[ ltrim(변수 혹은 문자열); ] 앞의 공백을 제거한 값을 돌려줍니다.
:: 문자열의 처음과 끝의 공백을 동시에 제거
[ trim(변수 혹은 문자열); ] 처음과 끝의 공백을 제거한 문자열을 돌려줌. chop과 ltrim의 동시적용효과
:: 아스키문자로
[ chr(변수 혹은 숫자); ]
:: 아스키코드로
[ ord(변수 혹은 문자); ]
:: 백슬래시 추가
[ addslashes(변수 혹은 문자열); ] 특수문자 ', ", \등에 \(백슬래시)를 덧붙여주는 역할을 한다. 이 함수는 크게 두 가지로 사용될 수 있는데 기존에 출력을 위해서 \를 사용하였던 경우 addslashes 함수를 사용하면 이 \들마저 출력된다. 웹프로그래밍 시에 사용자가 입력한 특수문자등이 포함되어있다면 그 값을 그대로 사용하면 문제가 생기므로, 저장 전에 한번 addslashes로 가공하여 저장.
:: 백슬래시 제거
[ stripslashes(변수 혹은 문자열); ] addslashes로 가공해서 가져온 것을 복원시키는 함수
:: 바이너리를 16진수로
[ bin2hex(변수 혹은 문자열); ] 일반 텍스트가 아닌 2진 바이너리 데이터를 16진수로 변환합니다.
:: \n을 <br>로
[ nl2br(변수 혹은 문자열); ] 웹이 아닌 프로그래밍에서는 \n이 다음줄로 넘어가는 코드입니다. 하지만 웹에서는 br태그가 그 역할을합니다. 이 함수를 쓰면 간단히 \n을 br태그로 바꿔줍니다.
:: HTML태그 모두 지우기
[ strip_tag(변수 혹은 문자열); ] 문자열 안에 있는 html 태그들만 모두 지워줍니다.
:: 구분자를 기준으로 문자열을 나누기
[ explode(구분자, 변수 혹은 문자열); ] 'TEXT:111:ass' 라는 문자열이 있다면 구분자를 ":"로 주면 쉽게 나눠낼 수 있음.
:: 구분자를 이용해서 배열을 문자열로
[ implode(구분자, 변수 혹은 문자열); ] 구분자를 이용해서 배열을 문자열로 합칩니다.
:: 문자열의 일부만 뽑아내기
[ substr(변수 혹은 문자열, 시작 위치, 뽑아낼 길이); ] 시작위치는 0이 첫번째 문자입니다. 위치가 -1이면 문자열의 마지막 문자입니다. 뽑아낼 길이가 생략되면 나머지 문자열을 모두 뽑아줍니다.
:: 소문자로 바꾸기
[ strtolower(변수 혹은 문자열); ] 문자열을 소문자로 바꿉니다.
:: 대문자로 바꾸기
[ strtoupper(변수 혹은 문자열); ] 문자열을 대문자로 바꿉니다.
:: 첫글자를 대문자로 바꾸기
[ ucfirst(변수 혹은 문자열); ] 첫글자만 대문자로~
:: 각단어의 첫글자를 대문자로
[ ucwords(변수 혹은 문자열); ] 각 단어의 첫글자를 대문자로 모두 변환
:: 단어를 찾아서 다음 문자열까지
[ strstr(변수 혹은 문자열, 찾을 문자열); ] 변수에서 찾을 문자열을 제일 처음 가진 곳을 찾아서 그 뒷부분까지 반환해줍니다. 대소문자를 구분합니다.
:: 단어를 뒤에서부터 찾기
[ strchr(변수 혹은 문자열, 찾을 문자열); ] 위의 함수와 비슷하나 뒤에서부터 찾아냅니다.
:: 다 개의 문자열 사이의 같은 글자수 찾기
[ similar_text(문자열1, 문자열2); ]
삼각함수 코사인 cos(값); 사인 sin(값); 탄젠트 tan(값); 진수변환 2진수 => 10진수 bindec(2진수); 10진수 => 2진수 decbin(10진수); 10진수 => 16진수 dechex(16진수); 10진수 => 8진수 decoct(10진수); 16진수 => 10진수 hexdec(16진수); 8진수 => 10진수 octdec(8진수); 다양한 진접 변환 base_convert(값, 값의 진법, 변환할 진법) :: 최대 [ max(값1, 값2, 값3, 값4, ...); ] 만약 첫번째 값이 배열이라면 그 배열 중에서 최대 값을 찾아서 돌려준다. :: 최소 [ min(값1, 값2, 값3, 값4, ...); ] 만약 첫번째 값이 배열이라면 그 배열 중에서 최소 값을 찾아서 돌려준다. :: 제곱 [ pow(진수, 지수); ] 2의 3제곱이라면 pow(2,3) :: 소수의 올림 [ ceil(실수); ] :: 소수의 내림 [ floor(실수); ] :: 소수의 반올림 [ round(실수); ]
:: 난수 발생시키기 [ rand(최소값, 최대값); ] 최소값과 최대값사이의 난수 발생. 난수를 발생시키기위해서는 srand라는 함수를 먼저 선언해줘야함. :: 난수 초기화 [ srand((double)microtime()*1000000); ] 위에서의 함수 앞에 둘다 'mt_'를 붙이면 조금 더 좋은 알고리즘의 난수가 발생한다. :: 시간 알아오기 [ time(); ] 유닉스 시간 알아오기. 1970년 1월 1일 0시 0분 1초부터 지금시간까지의 초입니다. 나중에 다른 함수를 써서 알아보기 쉬운 형태로 가공합니다. :: 날짜 알아오기 [ getdate(유닉스 시간); ] 현재 시간과 날짜 정보를 연관배열로 넘겨줍니다. 인자를 주지 않을 경우 현재 시간에 대한 정보를 넘겨줍니다. seconds 초 minutes 분 hours 시 mday 날짜 wday 현재 요일을 숫자로, 0은 일요일, 1은 월요일 mon 달 year 연도 yday 오늘이 해당 년도의 몇번재 날인지. weekday 요일을 영문자로 알려줌. month 달을 영문자로 알려줌.
:: 접속하기
[ 접속 구분자 = mysql_connect(접속서버이름[:포트번호], userID, 패스워드); ]
[ $db = mysql_connect("localhost", "zelon", "111"); ]
:: 접속끊기
[ mysql_close(접속 구분자); ]
:: DB 선택하기
[ mysql_select_db(DB이름, 접속 구분자); ]
:: 질의 하기
[ mysql_query(SQL 질의, 접속 구분자); ]
[ $result = mysql_query("select * from computer", $db); ]
:: 질의 결과 보기
[ mysql_affected_rows(접속 구분자); ]
[ $rows = mysql_affected_rows($db); ]
:: 질의 결과 보기
[ mysql_fetch_row(질의 구분자); ] 가장 많이 쓰이는 형태, 결과를 열 단위의 배열로 돌려주는 함수. 처음 시작은 0부터 시작하며 다시 사용하면 다음 줄을 돌려줌. 그러므로 보통 for 등 루프를 이용하여 데이터를 가져오게 됨. 더 이상의 데이터가 없을 때는 0을 돌려줌.
$db = mysql_connect("localhost", "zelon", "zelon");
mysql_select_db("zelon", $db);
$rs = mysql_query("select * from aTable;", $db);
echo mysql_error($db);
while ( $row = mysql_fetch_arrray($rs) )
{
echo $row["ColumnName"];
}
mysql_close($db);
<?
echo $name;
?>
}}}
| PHP Homepage | http://www.php.net |
| PHP Reference | http://www.php.net/manual/kr/ |
| Perl Homepage | http://www.perl.org |
| Perl 보물창고 CPAN | http://www.cpan.prg |
| 인터넷자료 통계 Netcraft | http://www.netcraft.com |
| GNU License 번역판 | http://kldp.org/root/gnu/gpl-k.html |
| Apache Webserver Homepage | http://www.apache.org |
| Apache Webserver FAQ | http://www.apache.org/docs/misc/FAQ.html |