php 파일이 여러개고.. db접속문과같이 여러번 중복되는 코드를 줄이기위해 include를 사용

<?     include "db.php"; ?>


db.php에는 이런코드가

<? $db = mysql_connect("localhost","root","password"); mysql_select_db("database",$db); mysql_query("set session character_set_connection=utf8;"); mysql_query("set session character_set_results=utf8;"); mysql_query("set session character_set_client=utf8;"); ?>


이런식으로 사용
php로 게시판 구현하다, 파일업로드 제한(기본설정 2MB)이 있다는걸 알게되었다....몰랐던 사실

$cd /etc/php5/fpm/ $sudo vi php.ini

이 부분을 수정하면 된다
upload_max_filesize = 2M
↓
upload_max_filesize = 10M
변경 후 저장후에 nginx restart
$sudo /etc/init.d/nginx restart
Restart 해도 안될경우엔 서버 Reboot을 한번 해준다.
$sudo reboot

the system is going down for reboot now

phpinfo() 로 확인해보면 변경 완료

'공부 > Php' 카테고리의 다른 글

트위터 oauth with php  (0) 2013.07.22
php 파일 include  (0) 2013.01.11
php 한글깨짐현상  (0) 2012.08.03
for,while문. 문자열자르기, list와 배열  (0) 2012.08.02
php 문법 시간  (0) 2012.07.31

php로 게시판을 만들던 중, 리스트에서 해당 글의 코멘트 갯수 가져오기 하려고 할때 이렇게했음.

mysql>select count(*) as comment_counter from board where no = 3

쿼리문은 일단 이렇게

$comment_count_query = "SELECT count(*) as comment_counter FROM board WHERE no = 3"; $comment_sql = mysql_query($comment_count_query); $comment_row = mysql_fetch_array($comment_sql); $comment_count = $comment_row[comment_count]; <td><?= $comment_count ?></td>

이렇게 해주면 끝
 NUM int not null auto_increment
나같은경우는 게시판을 만들때, 글작성시 자동으로 글번호가 +1로 되게하는데, 테스트하다가 수정이 필요해서 찾아보게되었다.
ALTER TABLE 테이블명 AUTO_INCREMENT= 1
auto_increment = 초기화 할 숫자 로 입력하면 끝

Mysql 사용중 한글깨짐 현상이 발생시 해결법 ( Ubuntu 12.10 환경에서 작동됨 )


$cd /etc/mysql/my.cnf

항상 백업필수!, 원본 my.cnf를 백업해둔다.

$sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.orig
$sudo vi my.cnf

이후 각 영역마다 아래 코드 추가

[client]
default-character-set = utf8
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci init_connect="set collation_connection=utf8_general_ci" init_connect="set names utf8" character-set-client-handshake=TRUE skip-character-set-client-handshake [mysqldump] default-character-set = utf8

저장 후 Mysql 재시작

$sudo /etc/init.d/mysql restart

설정 후 확인은

$mysql -u root -p 
mysql>status
mysql>show variables like 'char%';

설정 후에도 한글이 여전히 깨지는데, 테이블 설정도 변경해면, 잘된다.ㅋ (''는 빼고 명령어 입력)

mysql>ALTER TABLE '디비명'.'테이블명' MODIFY COLUMN `Column이름` VARCHAR(20) CHARACTER SET utf8 COLLATE utf8_general_ci;

Ubuntu 단축키(우분투 단축키)

콘솔상에서 사용하는 단축키
Alt-F1 ~ Alt-F12 콘솔 이동 Alt-(Left/Right) 이전/다음 콘솔로 이동
Ctrl-Scroll Lock 프로세스 목록 보기 Shift-Scroll Lock 메모리 상태 정보 보기
셀 상에서 실행중인 프로그램 제어하는 단축키
Ctrl-C 실행 중인 프로그램 중지 Ctrl-Z 실행 중인 프로그램 일시 정지
% 일시 정지된 프로그램 다시 실행
bash상에서 기본 입력모드인 emacs스타일에서 사용
Tab 자동완성 Ctrl-D 로그아웃
Ctrl-R 히스토리찾기 Ctrl-S 키보드 잠그기
Ctrl-Y 버퍼의 내용 붙여넣기 Ctrl-I 화면 지우기 (clear)
Ctrl-Q 잠긴 키보드 풀기 Ctrl-M Enter
Ctrl-P 이전 명령어 (Up) Ctrl-N 다음 명령어 (Down)
Ctrl-I 화면 지우기 (clear) Ctrl-Y 버퍼의 내용 붙여넣기
Ctrl-A 입력 라인의 처음으로 이동 (Home) Ctrl-E 입력 라인의 끝으로 이동 (End)
Ctrl-B 커서를 왼쪽으로 이동 (Left) Ctrl-F 커서를 오른쪽으로 이동 (Right)
Ctrl-XX 커서를 이전 위치로 이동 Ctrl-U 커서 왼쪽의 문자들을 버퍼에 저장 후 삭제
Ctrl-K 커서 오른쪽의 문자들을 버퍼에 저장 후 삭제 Alt-L 커서 위치에서 문자열 끝까지 소문자로 변환
Alt-U 커서 위치에서 문자열 끝까지 대문자로 변환 Alt-T 두 단어 위치 바꾸기
Alt-B 커서를 다음 단어로 이동 Alt-F 커서를 이전 단어로 이동

출처 : http://chakjs.tistory.com/



웹뷰를 통해 모바일 페이지를 보여주는 어플을 만들었는데, 

모바일 크롬이나 모바일 브라우저로 카카오톡 공유를 누르면 잘 되는데, 웹뷰를 통해서 버튼을 누르면 

아래와같은 오류 나면서 되지 않을때 해결방법


private class JsWebViewClient extends WebViewClient{ @Override public boolean shouldOverrideUUrlLoading(WebView view, String url){ if(url.startsWith("kakolink:")){ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(intent);      } else{ view.loadUrl(url); } return true; } } // http://www.kakao.com/link/ko/api?tab=android // 카카오톡 API 확인해보면 kakaolink:로 시작하기때문에 // 코드를 넣어주면 됨

이런 방법으로도 가능

private class JsWebViewClient extends WebViewClient{ @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ if(("kakaolink").equals(url.substring(0,9))){ loadkakao(url); } else{ view.loadUrl(url); } return true; } } //for Enabling kakaotalk link public void loadkakao(String url){ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); intent.addCategory(Intent.CATEGORY_BROWSABLE); intent.putExtra(Browser.EXTRA_APPLICATION_ID,getPackageName()); startActivity(intent); }


결과



삽입명령

a커서 뒤에 입력A라인 끝에 입력
i커서 앞에 입력I라인 시작 부분에 입력
o커서 있는 라인 밑에 입력O커서가 있는 라인 위에 입력

커서이동명령

h왼쪽으로 커서 한 칸 이동H화면의 처음으로 이동
l오른쪽으로 한 칸 이동L화면 끝으로 이동
e다음 단어의 마지막으로 이동E커서를 공백으로 구분된 다음 단어 끝으로 이동
b한 단어 뒤로 이동B커서를 공백으로 구분된 이전 단어로 이동
w커서를 한 단어 뒤로 이동W커서를 공백으로 구분된 다음 단어로 이동
k커서를 한 라인 위로 이동j커서를 한 라인 아래로 이동
O커서를 라인의 시작으로 이동$커서를 라인의 끝으로 이동
Enter커서를 다음 라인 시작으로 이동-커서를 전 라인의 시작으로 이동
Ctrl + F다음 화면으로 이동Ctrl + D화면의 반만 앞으로 이동
Ctrl + B전 화면으로 이동Ctrl + U화면의 반만 뒤로 이동
G커서를 텍스트 마지막 라인으로 이동숫자G커서를 숫자 라인만큼 이동
M커서를 화면 중간 라인으로 이동커서를 전 위치로 이동
(문장의 시작으로 이동{문단의 시작으로 이동
)문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동}문단 끝으로 이동

삭제명령

x커서가 있는 문자 삭제X커서가 있는 문자 앞에 있는 문자 삭제
dw커서가 있는 단어 삭제db커서가 앞에 있는 단어 삭제
dW공백으로 구분된 뒷 단어 삭제dB공백으로 구분된 앞 단어 삭제
dd커서가 있는 라인 삭제D커서가 있는 라인의 나머지 삭제
d)문장의 나머지 삭제d}문단의 나머지 삭제
dG파일의 나머지 삭제dH화면의 시작까지 삭제
dL화면의 나머지 삭제J커서와 다음 단어의 공백을 모두 삭제

바꾸기명령

r커서에 있는 문자 대치R입력 모드로 한 문자씩 덮어씀
s커서가 있는 문자 삭제 후 입력 모드로 전환S커서가 있는 줄을 삭제 후 입력 모드로 전환
cb커서가 있는 앞 문자 삭제 후 입력 모드cW공백으로 구분된 뒷 단어를 삭제 후에 입력 모드
cB공백으로 구분된 앞 단어 삭제 후 입력 모드cc커서가 있는 라인을 삭제하고 입력 모드
C커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환cO커서에서부터 라인의 시작까지 텍스트 바꾸기
c특정 텍스트 바꾸기c)문장의 나머지 바꾸기
c}문단의 나머지 바꾸기cG파일의 나머지 바꾸기
cm표시까지 모든 것 바꾸기cL화면의 나머지 바꾸기
ch화면의 시작까지 바꾸기

이동

p삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입P삭제나 복사된 텍스트를 커서가 잇는 문자나 라인 앞에 삽입
dw p커서가 있는 단어를 삭제한 후 이를변경한 커서가 있는 것 뒤에 삽입dw P커서가 잇는 단어를 삭제 후 이를 변경한 커서 있는 곳 앞으로 삽입
d p지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동d) P문장의 나머지로 이동
d} p문단의 나머지로 이동dG P파일의 나머지로 이동
dH p회면 시작 부분으로 이동dL p화면의 나머지를 이동

복사

yw커서가 있는 단어를 복사yb커서가 있는 앞 단어를 복사
yW공백으로 구분된 뒷 단어 복사yB공백으로 구분된 앞 단어를 복사
y특정한 다음 텍스트 복사yy커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동
y)문자의 나머지 복사y}문단의 나머지 복사
yG파일의 나머지 복사yH화면의 시작까지 복사
yL화면의 나머지 복사

검색

/pattern텍스트에서 앞으로 패턴 검색>patter텍스트에서 뒤로 패턴 검색
n앞 또는 뒤로 이전 검색 반복N반대 방향으로 이전 검색 반복
/전 검색을 앞으로 반복?전 검색을 뒤로 반복



와 별거아니었는데 찾아보다 .. 드디어 됐다.

설정방법

먼저  xe.conf

다운받아 nginx가 설치된 경로에 업로드한다.
세부 주소 설정은 regex 공부해서 각자하면되고,  

나는 /etc/nginx/sites-available/에 올림


$cd /etc/nginx/sites-available/

$vi default

하고, 

server { root /usr/share/nginx/www/; index index.php index.html index.htm; server_name jasontody.com; location / { # First attempt to serve request as file, then # as directory, then fall back to index.html try_files $uri $uri/ /index.html; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules } include /etc/nginx/sites-available/xe.conf;

이렇게 하고  nginx restart 시켜주면 끝.

$sudo /etc/init.d/nginx restart

ftp로 업로드 안하고 직접 xe.conf 작성해도 됨


xpressengine Admin에서 이것까지 체크해주면 끝


$passwd jasontody

또는

$sudo passwd USERID

쓰면 간단히 변경된다. 아마 sudo 해줘야 할듯. 

그리고 전에 한번 썼던 비밀번호로 다시 변경하려면 


Bad: new password is just a wrapped version of the old one


이라는 메세지가 뜨면서 변경이 되지 않고, 현재 비밀번호랑 같은 비밀번호를 입력해도

변경이 되지않는다. 참고

+ Recent posts