정기 구독하는 Linux Journal이란 잡지가 어제 집으로 무사히 도착하였습니다.


역시 영어라 보는데 힘들었습니다. 대충 훑어보았습니다.

그러나 볼 것이 많군요. CrossOver Office, JAVA Script, Web Reporting with MySQL, CSS and Perl, 재미있는 게임 등등

영어라서 좀 보는것이 버벅되었지만 좋은 내용들이 많아서 좋았습니다.
AJAX를 공부하기 위해 JAVA Script를 더 팔까 이런 생각을 요즘 해봅니다. :)


PS. 요즘 제가 개편하고 있는 홈페이지가 어떻게 구성할지 문제 때문에 요즘 골치 아픕니다. SQL때문에 짜증도 납니다. MySQL쿼리문을 이리저리 쓰는 것도 헷갈리는데 ㅠ_ㅠ.

'컴퓨터 > Linux' 카테고리의 다른 글

리눅스용 한글 2005 60일 체험판 설치기록  (1) 2006.08.20
노트북에 우분투를 깔다.  (1) 2006.08.19
노트북에서  (3) 2006.08.14
짜증나는 PHP설정이랄까?  (2) 2006.08.02
PHP에서 세션 오류가 날때 - 1편  (4) 2006.08.02
Buy me a coffeeBuy me a coffee
노트북에서 Linux를 깐다고 삽질을 했습니다. 계속 삽질 해도.. 결과가 안나오군요.
하드에 깔리긴 해도 X-Window가 뜨질 않습니다 ㅡㅡ;

이거 왜그러나? 노트북이 부끄럼을 타는가 봅니다.

아 X-Window 설정이 잘 안되지???

Fujitsu 비디오 카드가 설정이 안되어서 그런가?

'컴퓨터 > Linux' 카테고리의 다른 글

노트북에 우분투를 깔다.  (1) 2006.08.19
Linux Journal 도착  (1) 2006.08.15
짜증나는 PHP설정이랄까?  (2) 2006.08.02
PHP에서 세션 오류가 날때 - 1편  (4) 2006.08.02
Fedora Core 5로 험난한 과정  (5) 2006.07.23
Buy me a coffeeBuy me a coffee
멋진인생님께서 서버가 이상하다고 연락이 왔다.

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at .....
이 에러가 왜 뜨는거지? 무슨 작업 했니?
갑자기 세션관련된 php페이지가 다 에러뜬다;


이상하다. 난 서버에 작업을 한 적이 없었는데 -_-;; 제 싸이월드 방명록에 써주셨군요. 제 싸이 방명록에 컴퓨터랑 멀리 다가가려고 노력하는데 ㅠ_ㅠ

원인을 몰라서 궁금했는데...... 문제의 화면을 보게 되었다.
Warning: session_start(): open(/tmp/sess_105c4de7ac5876f43fde5872e0e8af9e, O_RDWR) failed: Read-only file system (30) in /home2/hydra01/public_html/pcrc_board/view.php on line 21

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home2/hydra01/public_html/pcrc_board/view.php:21) in /home2/hydra01/public_html/pcrc_board/view.php on line 21

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home2/hydra01/public_html/pcrc_board/view.php:21) in /home2/hydra01/public_html/pcrc_board/view.php on line 21

(중략)

Warning: Unknown(): open(/tmp/sess_105c4de7ac5876f43fde5872e0e8af9e, O_RDWR) failed: Read-only file system (30) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0


왜 에러 뜨는지 모르겠다. 잘못된 지식을 전파한다는 네이버 지식인과 구글신에게 물어본 결과...... 헛걸음. 시간만 버렸다. 구글의 검색결과에 실망을 해버렸다. 구글신도 사람 짜증나게 하는 일도 잇구나.

이유는 간단하다. 홈페이지에 PHP가 설정이 이상해서 Warning뜬 것을 서버에 저장시켜 보여주다니.. 센스 만점 -_-;;

아 골치 아퍼라 일단 자고 보자.

'컴퓨터 > Linux' 카테고리의 다른 글

Linux Journal 도착  (1) 2006.08.15
노트북에서  (3) 2006.08.14
PHP에서 세션 오류가 날때 - 1편  (4) 2006.08.02
Fedora Core 5로 험난한 과정  (5) 2006.07.23
하드디스크 -_-^  (2) 2006.07.23
Buy me a coffeeBuy me a coffee
가끔 PHP로 코딩을 하다보면 세션을 만질 때가 있습니다.

가끔가다가 세션 관련 부분이 문제를 일으킬때가 엄청 많습니다.
전 여기서 여러가지 경우 중에서 한가지 경우를 설명하겠습니다.

갑자기 이런 문제가 나타나는 경우
Warning: session_start(): open(/home3/plus/public_html/php/session/sess_fd54d01bcd294d722c8cab518af9ba81, O_RDWR) failed: No such file or directory (2) in /home2/plus/public_html/php/three/Hresult_0.php on line 3

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home2/plus/public_html/php/three/Hresult_0.php:3) in /home2/plus/public_html/php/three/Hresult_0.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home2/plus/public_html/php/three/Hresult_0.php:3) in /home2/plus/public_html/php/three/Hresult_0.php on line 3


이 문제는 PHP자체의 버그라고 할까요?

네이버 지식인을 찾아보면 답은 간단합니다.
아래는 네이버 지식인에 나온 답입니다.


원인은.. 바로 headers already sent 입니다..

<?
session_start();
?>


함수가 나타나기 이전에 .. 브라우저에 어떠한 출력도 있어서는 안됩니다.

간단하게 예를 들면

<?
echo "warning sample";
session_start();
?>

위의 소스는 에러가 발생 합니다.

이유는 session_start(); 가 실행되기 이전에 부라우저에 "warning sample" 라는 내용을 출력했기 때문 입니다...

올바른 소스는..

<?
session_start();
echo "session_start(); sample";
?>
위의 소스 처럼 session_start(); 함수가 호출되기 이전에 어떠한 내용도 부라우저에 출력되지 않았으므로 경고 메세지를 표시하지 않습니다.

관련된 함수로는
header();
등이 있겠네요.

'컴퓨터 > Linux' 카테고리의 다른 글

노트북에서  (3) 2006.08.14
짜증나는 PHP설정이랄까?  (2) 2006.08.02
Fedora Core 5로 험난한 과정  (5) 2006.07.23
하드디스크 -_-^  (2) 2006.07.23
서버 고침  (0) 2006.07.12
Buy me a coffeeBuy me a coffee
Head First HTML with CSS & XHTML
에릭 프리먼.엘리자베스 프리먼 지음, 홍형경 옮김 / 한빛미디어
나의 점수 : ★★★★★

어제(2006년 7월28일 금요일)집 근처 도서관에서 눈에 띄어서 바로 대출한 책이다.

너무나 잘쓴 웹프로그래밍(?) 책이다.
HTML은 웹프로그래밍이라고 하기도 좀 모호하지만 -_-;;
이 책은 요즘 화두가 되고 있는 웹2.0시대의 웹표준에 맞게 쓴 몇개 안되는 XHTML책중 하나이다.

서점에서 웹표준에 대한 국내 서적이 열손가락에 뽑을수 있을 정도일 것이다.내가 아는 웹표준 책을 보면 박수만씨가 쓴 "실용예제로배우는 웹표준"과 "웹2.0을 이끄는 방탄웹(크리에이티브한 웹표준 기법과 제작사례)"밖에 없을 것이다.
위의 책들은 웹언어인 HTML을 안다는 전제로 책을 썼기 때문에 초보자들에게 좀 읽기가 무리인 것 같다.
위 책은 글과 코드로 빽빽한 어느 책과 다르게 디자인이 화려하고, 그림도 많이 들어가서 책을 읽을 때 너무나 즐겁다. 그렇다고 책이 부실하다는 것은 아니다. 어느 책보다 알차다. 웹표준은 왜 지켜야 하고 인터넷에 떠돌고 있는 잘못된 웹페이지 작성법을 고쳐준다고 할까? 조금 무거운 내용을 아주 자세하게 재미있게 보여준다고 할까?

나는 이 책을 읽어보면서 이렇게 설명이 잘되있는 초보자들을 위한 웹표준 서적을 이 것밖에 찾을 수 밖에 없었다.
(박수만씨의 "실용예제로배우는 웹표준"과 "웹2.0을 이끄는 방탄웹(크리에이티브한 웹표준 기법과 제작사례)"은 어느 정도 HTML에 익숙한 사람들 빼고는 책을 보는데 힘들 것 같다. - 책 내용은 너무나 좋다.)

내가 지금 개편하고 있는 P.C.R.C.홈페이지(http://pcrc.hongik.ac.kr)도 웹 표준에 맞게 준수해야겠다는 생각을 하고 개편을 하는데 막코딩과 디자인 감각 제로로 그다지 -_-;; 홈페이지 개편하는 것이 걱정이다.
(지금 작업중인 것을 보려면 http://pcrc.hongik.ac.kr/~pcrc3)

읽다보니 하루가 금방 간 것같다. 재미있게 써서 그런지 100쪽 이상을 읽어버렸다.-_-;;

웹 표준을 왜 지켜야 할까?
FireFox같은 웹브라우저를 쓰다보면 우리나라 홈페이지들은 거의 이상하게 보인 다는 것을 알 수 있다. 웹페이지들이 웹 표준을 안지키고 Explorer로 거의 맞추다 보니 FireFox나 Opera같은 웹브라우저에서는 이상하게 보이는 것이 당연.이렇듯 우리나라의 웹환경은 너무나 열악하다. 이 책을 통해서 우리나라의 웹사이트들이 웹표준을 준수했으면 한다.
Explorer뿐만 아니라 Firefox, Opera, Safari, Mozilla등등의 웹브라우져에서도 웹사이트들이 작성자가 의도된대로 보여졌으면 좋겠다.

'컴퓨터 > Web' 카테고리의 다른 글

Google Package  (2) 2006.08.15
Google에 무궁화 꽃이 피었습니다.  (1) 2006.08.15
웹표준 홈페이지 구축중  (3) 2006.06.29
나도 IPv6사용자  (1) 2006.05.07
IE7 (Internet Explorer) BETA 2를 쓰다.  (2) 2006.05.07
Buy me a coffeeBuy me a coffee
Windows 32bit API로 재미있는 프로그램을 만들어봤습니다.

마우스를 움직일때 마다 마우스 커서 좌표에 원을 출력하는 프로그램입니다.
이 프로그램은 화면을 통째로 복사해서 프로그램이 전체 화면을 감싸고 있습니다. 그 화면에 마우스가 움직이면 마우스가 움직이는 대로 원을 출력해줍니다.



아래 프로그램은 허접하게 만든 프로그램입니다.
screenmouse.exe
실행하고 나서 끄는 방법은 ALT-F4를 같이 누르는 것 밖에 없습니다 =_=;;

이 프로그램을 만들고 나서... 프로그램을 실행해야한다고 속이고 프로그램을 실행 후 갑자기 귀신이 나타내서 사람 깜짝놀래키는 프로그램을 똑같이 만들 수 있을 것 같다는 생각을 해봅니다.

API공부는 눈에 보여서 아주 재미있습니다 ㅎㅎ

'컴퓨터' 카테고리의 다른 글

SPARC Assembly programming 하다가  (6) 2006.09.26
오버라이딩과 오버로딩  (1) 2006.08.15
이벤트와 메세지  (0) 2006.07.28
윈도우즈를 구성하는 3가지 DLL파일  (1) 2006.07.27
C++ 파일 입출력  (1) 2006.06.06
Buy me a coffeeBuy me a coffee
Windows 32bit API에서의 이벤트(Event)와 메세지(Message)

이벤트란 사용자가 키보드를 누르거나 마우스 버튼을 클릭할 때, 툴바의 버튼을 누르거나 윈도우의 크기를 조절하는 등의 기계적인 조작에 의해 발생되는 것을 말한다. 이외에도 OS자체에서 발생하는 이벤트, 프로그램 자체가 발생시키는 이벤트 등이 잇다. 이벤트가 발생하면 윈도우즈 OS는 이를 감지하여 해당 프로그램으로 메시지를 전달하게 된다. 800여 개의 메시지가 잇으며 보통 30여개 정도의 메시지가 많이 쓰인다.

자주 사용되는 일반 윈도우 메시지(general window mesages) 유형(type)들
일반 윈도우 메시지 유형은 모두 "WM_"로 시작된다.
윈도우 메시지 유형발생하는 상황
WM_CREATE윈도우가 생성될 때
WM_ACTIVATE윈도우가 활성화되거나 비 활성화될때
WM_PAINT윈도우가 다시 그려져야 할 때
WM_MOUSEMOVE마우스 커서가 움직였을 때
WM_COMMAND사용자가 메뉴등으로 명령을 내렸을 때
WM_LBUTTONDOWN마우스 왼쪽 버튼이 눌렸을 때
WM_LBUTTONUP마우스 왼쪽 버튼이 떼어졌을 때
WM_LBUTTONBLOCK마우스 왼쪽 버튼이 더블 클릭 되었을때
WM_RBUTTONDOWN마우스 오른쪽 버튼이 눌렸을 때
WM_RBUTTONUP마우스 오른쪽 버튼이 떼어졌을 때
WM_RBUTTONBLOCK마우스 오른쪽 버튼이 더블 클릭 되었을때
WM_KEYDOWN키보드가 눌렸을 때
WM_KEYUP키보드가 떼어졌을 때
WM_SIZE윈도우의 크기가 변경되었을 때
WM_MOVE윈도우가 이동되었을 때
WM_TIMER설정된 타이머 시간이 다 되었을 때
WM_DESTROY윈도우가 없어질때

Buy me a coffeeBuy me a coffee
윈도우즈를 구성하는 3가지 DLL파일
윈도우즈를 구성하는 3개의 중요한 DLL파일과 하는 역할
모듈파일명기능
커널KERNEL32.DLL윈도우즈의 핵심으로 메모리 관리, 파일 입출력, 프로그램의 로드와 실행 등 OS의 기본 기능을 수행한다.
GDIGDI32.DLL화면이나 프린터와 같은 출력 장치에 출력을 관리한다.
사용자 인터페이스USER32.DLL윈도우, 다이얼로그, 메뉴, 커서, 아이콘 등과 같은 사용자 인터페이스 객체들을 관리한다.

'컴퓨터' 카테고리의 다른 글

API로 만든 재미있는 프로그램  (2) 2006.07.28
이벤트와 메세지  (0) 2006.07.28
C++ 파일 입출력  (1) 2006.06.06
가장 먼저 설치하는 10개의 프로그램  (3) 2006.05.28
Graph (Data Structure)  (0) 2006.05.28
Buy me a coffeeBuy me a coffee
2006년 7월 23일날 통계를 보고나서

그제는 남자 100%의 압박이 -_-+;;
어제는 남여비울이 1:1정도 ㅎㅎ

전 Firefox 1.5.0.4쓰는데 대부분 Internet Explorer를 쓰군요.

다양한 브라우저를 쓰시는 분들이 방문해서 재미있군요.

리눅서들이 방문 별로 안하네요. -_-;; 그리고 맥이용자가 많이 오네요 ㅎㅎ

50대는 누굴까 궁금하네요. 40대는 아부지가 올 것 같다는 느낌이 -_-;;(KT목동사옥에서 일하시니 곧 들킬것 같네요)
역시나 그렇듯 20대의 블로그라서 20대가 많이 오군요. (나 아직 만 19세인데 -_-;;)
저 만으로 치면 10대로 포함됩니다 -_-;;
Buy me a coffeeBuy me a coffee
5월달 말 P.C.R.C. 서버에 Fedora Core 4가 깔려있었다.

4월 2일인가?
fedora core 3 Kernel 2.6.9를 fedora core 4 Kernel 2.6.16로 업그레이드를 했다.
Fedora Core release 3 (Heidelburg)
Kernel 2.6.9-1.1831_FC3 on an i686

Fedora Core release 4 (Stentz)
Kernel 2.6.15-1.1831_FC4 on an i686


apt-get update였나 apt-get upgrade 이란 명령어로 아주 쉽게 했었다.

업그레이드 성공하고 나서 쌩뚱맞게 튀어나온

Your default context is user_u:system_r:kernel_t.
Do you want to choose a different one? [n]n


이 것때문에 고생 했었다.-_-;;
구글신에게 물어본 결과 http://www.fedoraforum.org/forum/archive/index.php/t-82994.html
를 참고하라고 했다.
여기서는 SELinux를 끄라고 한다. SELinux를 끄니까 다행이도 이런 메세지가 안나왔다..

그리고 나서 시간이 지나 5월달 중순.
난 Fedora Core 5가 나와서 업데이트를 해줘야겠다는 생각으로 yum.conf와 apt.conf였나 에서 업데이트 목록을 Fedora Core 5로 싹 바꾸고 나서 아무 의식없이 업데이트를 해줬다.
apt-get update

그리고 나서는 실패를 하였다. 이게 무슨 일이지?
MySQL이 망가져버렸다. /var에 있덴 DB 데이터가 날라간 것이다. 그래서 NHN에 합격하신 00학번 전 모 선배님께서 DB를 고쳐주셨다. 그리고 나선 내가 고쳐야 했다. GCC(Gnu Compiler Collection)도 버전이 안맞아 파일이 깨지고 ..... 이것 때문에 성적이 안좋았나? 서버관리한다고 숙제는 벼락치기로 내고 그랬더니 2학년 1학기가 정말 죽을 맛이었다.

이제 계절학기 끝나고 태백 해비타트 봉사활동을 하고나서 Fedora Core4인 서버를 Fedora Core5로 바꾸기로 결심하였다.

2006년 7월 19일 수요일 이날 아침 Fedora Core 5 CD를 굽고 서버가 있는 T동 6층 멀티미디어실로 들어갔다.
CD넣고 부팅
boot :
난 여기에 linux 라 치고 Enter를 쳤다.

80G 짜리 하드디스크가 말썽이었다. 거의 설치가 되려고 했는데 "Home 라벨이 두개입니다" 라는 경쾌한 문구와 함께 사람 짜증나게 만들었다. 뭐가 문제이지 하면서 생각을 해본 결과... 80G하드디스크의 전원을 뺐다. 어짜피 백업용인데다 별로 쓰지도 않으니까다. (120G 하드디스크를 설치 한 후 거의 쓸모 없게 되었다.)
임시방편이지만 설치를 원활하기 위해 뺐다. 다시 mount 시키면 되니까.

그랬더니 오후 5시 다되어간다. 멀미실 조교 누님께서 나가라고 한다. 다 못 고치고 나갔다.

일은 여기서 터졌다.
설치는 되었고 Kernel도 Fedora Core5로 올라갔지만...... libz.so.1가 깨졌다고 한다. SSH접속도 FTP접속도 MySQL도 안돌아갔다.
[root@pcrc bin]# gcc
error while loading shared libraries: /usr/local/lib/libz.so.1: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#

[root@pcrc bin]# yum
error while loading shared libraries: /usr/local/lib/libz.so.1: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#

[root@pcrc bin]# apt-get
error while loading shared libraries: /usr/local/lib/libz.so.1: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#

[root@pcrc bin]# mysql
error while loading shared libraries: /usr/local/lib/libz.so.1: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#

아파치 데몬 올릴때 더 가관
[root@pcrc bin]# ./httpd -k start
Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#


갑자기 이게 무슨 쌩뚱 맞는 일인지 당황하였다. 그래서 다시 CD넣고 재부팅 재설치 하였다.
네이버 지식인과 구글에게 물어본 결과
파일이 깨졌단다. ㅡ,.ㅡ 짜증난다.
/usr/local/lib/libz.so.1 이 심볼릭 링크로 libz.so.1.1.4로 되어있었는데 다들 libz.so.1.2.3로 참고하려고 하니 에러가 뜬 것이다. 난 그래서 /usr/lib에 있던 libz.so.1.2.3파일을 /usr/local/lib에 옮기고 심볼릭 링크를 고쳤다.
rm libz.so.1.1.4
cp libz.so.1.2.3 /usr/local/lib
ln -s libz.so.1.2.3 libz.so
ln -s libz.so.1.2.3 libz.so.1


그리고나서 apache daemon을 돌릴려고 했더니 -_-;;
[root@pcrc bin]# ./httpd -k start
Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied
[root@pcrc bin]#


짜증났다. 어디에서 문제 일어났나? vi로 찾아도 이상이 없고..
인터넷으로 찾아보니 너무나 허무했다.


그림출처 : 클랴의 베이킹파우더



인터넷에 있는 결과
[root@localhost libexec]# /usr/local/apache/bin/apachectl configtest
Syntax error on line 224 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: cannot restore segment prot after reloc: Permission denied

이런 황당한 에러는... 아래와 같이 하면 해결됨.

[root@localhost libexec]# restorecon -R -v /usr/local/apache/libexec


OTL
그래서 전 서버에 이렇게 쳤습니다
[root@pcrc libexec]# restorecon -R -v /usr/local/apache2/libexec


그리고 나서 성공!

7월 21일 금요일 에 겨우 서버가 돌아가기 시작하였습니다.

결론 : yum과 apt-get으로 무리한 업데이트는 화를 좌초하고 독이 될수가 있다..
다음부턴 무리한 업데이트를 안 할 것이고 서버를 안정적으로 돌리기 위해 노력해야겠습니다.

'컴퓨터 > Linux' 카테고리의 다른 글

짜증나는 PHP설정이랄까?  (2) 2006.08.02
PHP에서 세션 오류가 날때 - 1편  (4) 2006.08.02
하드디스크 -_-^  (2) 2006.07.23
서버 고침  (0) 2006.07.12
Linux Magazine 2006년 5월호를 읽다가  (1) 2006.05.15
Buy me a coffeeBuy me a coffee

+ Recent posts