idn 명령어는 유니코드가 포함된 도메인 (한글도메인)을 ASCII 형식으로 변환해주는 명령어이며

아래는 설치부터 사용법 예시에 대한 정리이다.

[idn 설치]

yum -y install libidn


[idn 명령사용법]


CHARSET=EUC-KR idn -a --quiet 한글도메인 (한글도메인을 punnycode 로 변환)
CHARSET=EUC-KR idn -u --quiet punnycode (punnycode를 한글도메인을 변환)

ex) CHARSET=EUC-KR idn -a --quiet 네이버.com (xn--950bt9s8xi.com 으로 변환됨)
ex) CHARSET=EUC-KR idn -u --quiet xn--950bt9s8xi.com (네이버.com 으로 변환됨)
 

[중요] CHARSET=EUC-KR 를 명시하지 않으면 서버 로케일 설정이 euc-kr 로 지정되지 않은 서버에서는

엉뚱한 결과값이 출력될 수 있으므로 명령어 사용시 반드시 위 예시와 같이 CHARSET=EUC-KR 를 조합해서 사용할 것.

CHARSET=EUC-KR 옵션사용시 시스템의 로케일 설정의 영향 받지 않음.



virtualhosts.conf (기본 "httpd-vhosts.conf") 파일의 적용을 원하는 계정을 찾아

아래의 지시자를 추가해준다.

* 파일 업로드 용량 설정

php_value upload_max_filesize 64M
php_value post_max_size 64M 

 

* 64M 는 예시이며 용량을 다르게 지정할 수도 있다. 

서버에 설정된 upload_max_filesize & post_max_size 의 설정 값 확인하는 스크립트

<?php
$s1 = 'upload_max_filesize';
$s2 = 'post_max_size';
echo $s1.' : '.ini_get($s1);
echo "<br>";

echo $s2.' : '.ini_get($s2);

?>


* 최대 업로드 갯수 설정

php_admin_value max_file_uploads 100  (php 5.2.12 이후)

서버에 설정된 max_file_uploads 의 설정 값 확인하는 스크립트

<?php
$s = 'max_file_uploads';
echo $s.' : '.ini_get($s);
?>


'Works > PHP' 카테고리의 다른 글

phpmyadmin 로그인 인증 방법  (0) 2016.02.26
PHP 언어셋 컨버팅  (0) 2015.12.16
Imagerotate 테스트 소스  (0) 2015.11.09
php 파일 암호화 php_screw-1.5  (0) 2015.10.30
모바일페이지 자동 리다이렉션 스크립트  (0) 2015.10.30


Linux 시스템에서 vi 등으로 특정파일을 편집시도시 다음과 같은 에러메시지가 나오면

"Write error in swap file"

위 메시지의 의미는 Swap file을 쓸 수 없다는 말인데, 이러한 문제는 하드디스크 내에 여분의 공간이 없기 때문에

발생한다. 따라서 이 문제를 해결하라면 하드 디스크에서 불필요한 자료들을 삭제해야 해결될것이다.


기본적으로 localhost 에서만 접속이 허용되는 DB 를 외부(PC 및 타 서버) 환경에서 접속하려고 할 때

기존의 db 유저의 host를 변경할 것이 아니라 아래의 쿼리문을 이용해 유저를 추가해주면 된다.

(host 부분의 %는 모든 호스트에서 접속 허용이며 이부분을 IP 주소로 입력하면 해당 IP 에서만 접속이 가능함.)

 

[추가]

1. insert into user (host,user,password) values ('%','user_name',password('user_password'));


[mysql 5.5 이상에서는 아래 쿼리를 실행할 것!!!]

insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject, authentication_string) values('%','user_name', password('user_password'),'','','','');


2. insert into db (host,db,user) values ('%','db_name','user_name');

3. flush privileges;
4. grant all privileges on user_name.* to user_name@'%';

 

(Root 계정의 경우 2번은 생략하고 1번 쿼리 이후 4번 쿼리 중 user_name.* 대신 *.* 로 처리할 것!)

 

5. flush privileges;

 

위 방법대로 했는데도 외부 접속이 안된다면 /etc/my.cnf 파일의 항목 중 bind-address = 127.0.0.1 이 있다면

 

이를 주석처리 한다. (bind-address = 127.0.0.1 는  로컬호스트에서만 접속을 허용한다는 의미임.)

 

bind-address = 127.0.0.1 를 주석처리해도 안된다면 방화벽에서의 mysql 포트 (기본:3306)이 차단되어있을 가능성이 있으므로

 

확인 해 볼것! 

 

[삭제]

아래는 위의 방법대로 외부 접속 호스트 추가 후 삭제하는 방법이다.

(user_name 과 host 부분을 and 조건으로 모두 만족해야 처리되니 주의할 것!!  // % 대신 ip를 입력해도 무방)

 

1. delete from user where user='user_name' and host='%';

(root 계정의 경우 1번만 실행하면 됨)
2. delete from db where user='user_name' and host='%';

flush privileges;



php 컴파일시 아래와 같은 에러 메시지가 나오면

 configure: error: libjpeg.(a|so) not found.

configure: error: libpng.(a|so) not found.


- configure 중 해당 라이브러리가 없어 나는 에러

- 아래의 라이브러리 설치


yum install libjpeg-devel

yum install libpng-devel


해당 라이브러리 설치 후에도 에러가 발생하면 아래와 같이 설정

64bit 운영체제에서 해결이 됨.


ln -s /usr/lib64/libjpeg.so /usr/lib

ln -s /usr/lib64/libpng.so /usr/lib


[출처] http://wnstjqdl.tistory.com/entry/configure-error-libjpegaso-not-found-configure-error-libpngaso-not-found