본문 바로가기

프로그래밍

(101)
파일인코딩 변경법 (리눅스에서 일괄변경) 인코딩 변경법 (리눅스에서) find . -name “*.txt” -exec iconv -f ISO-8859-1 -t UTF-8 {} -o {} \; 개행문자 제거 (동그라미 이상한 문자는 줄바꿈으로 인한것) set ff=dos 하고 저장하면 윈도우용으로 됨. 윈도우 개행문자 \r\n 리눅스 개행문자 \n vi로 변경 :set ff=dos (윈도우용 개행문자 적용) :set ff=unix (윈도우용 개행문자 적용) 다수 파일 개행문자 변경 perl -pi -e ‘s/\n/\r\n/g’ *.txt 정리하자면 폴더 내 모든 파일을 인코딩 변경하고 잘못된 개행문자 수정. find . -name “*.txt” -exec iconv -f ISO-8859-1 -t UTF-8 {} -o {} \; perl -pi -..
CLASS ‘ZIPARCHIVE’ NOT FOUND 에러 발생시 해결방법 ZipArchive 에러는 zip 모듈이 없어서 나는 에러이다. zip 모듈이 없어도 평소엔 불편한 줄 몰랐는데. phpExcel 쓰려니 이런 에러가 나온다. 문제는 zip 모듈이 없다는 것. 그래서 설치해야 한다는 것이다. php 재컴파일 없이 설치하는 방법은 이렇다. HOWTO: 먼저 zip 모듈을 다운로드 받는다. http://pecl.php.net/package/zip STABLE 버전으로 다운받자. wget http://pecl.php.net/get/zip-1.10.2.tgz tar xvfz zip-1.10.2.tgz cd zip-1.10.2 phpize 실행 ( 안되면 이렇게 /usr/local/php/bin/phpize) ./configure --with-php-config=/usr/loca..
CRON 설정하는 방법 crontab -e 20 08 */3 * * root /home/mysql/mysql_backup.sh 앞에서 부터 분, 시, 일, 월, 주 분 (0~59) 시 (0~23) 일 (1~31) 월 (1~12) 주 (1: 월, 7: 일요일) * 은 모든 숫자를 의미 – 은 ex) ‘일’ 자리에 사용시 1-15 (1~15일로 설정) , 은 ex) ‘일’ 자리에 사용시 2,5,6 (2,5,6일로 설정) / 은 ex) ‘일’ 자리에 사용시 */3 (3일 마다 실행)
PHP 배열 확인 및 출력 OBJECT 다시 한번 메모하게된 배열처리 부분 var_dump로 배열을 출력하였을때 아래와 같이 object가 출력된다면 object(shoppingCart)#1 (5) { [“contents”]=> array(3) { [59978]=> array(1) { [“qty”]=> string(1) “1” } [59284]=> array(1) { [“qty”]=> int(15) } [58984]=> array(1) { [“qty”]=> int(13) } } } 원하는 값을 출력하기 위해서는 다음과 같은 방법이 필요하다. 배열을 객체처럼 쓰는 방법이다. $arr = new ArrayObject($_SESSION[cart]); $arr->setFlags(ArrayObject::ARRAY_AS_PROPS); // 위에서 세번째..
FAIL2BAN 차단해제 방법 의도치 않게 내가 사용하는 IP가 블록된 경우 해제하는 방법입니다. 1) Fail2Ban 차단해제하는 방법 iptables -L 차단되었나 확인 fail2ban-client status 로 JAILNAME을 알아낸후 해당 IP 해제하기. fail2ban-client set {제일네임} unbanip {아이피} 예제) fail2ban-client set vsftpd-iptables unbanip 000.123.456.789 2) White IP 리스트 등록 vim jail.conf에 추가 http://www.fail2ban.org/wiki/index.php/Whitelist
PHP PDO_MYSQL 모듈 추가방법 PDO_MYSQL.SO 모듈 추가방법 1. PHP 소스 폴더 이동 PHP 설치시 사용하였던 PHP 폴더로 이동하여 작업. cd /usr/local/src/php-5.5.37 cd /ext/pdo_mysql 2. phpize 실행 ※ phpize 는 PHP에서 extension 모듈을 추가 하는데 사용하는 유틸. command not found 나오면 yum install php-devel 로 설치 후 다시 진행 phpize or /usr/local/php/bin/phpize 3. configure and make ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql (mysql RPM 설치버전) make 4. 모듈 복사 cp..
PHP 세션저장문제, 로그인 문제 운영사이트에서 한동안 관리 안하다 어드민 접속을 하려하니 로그인이 되지 않았다. 로그인 페이지에서는 세션이 출력이 되는데 리다이렉트된 페이지에서는 세션값이 없다고 나오는 것이었다. 그러나 해당서버에 다른 사이트는 문제가 없는것 같았다. 아마도 로그인방식이 달라서 그랬나보다… 아무튼 문제를 해결하기 위해 php.ini 에서 display_errors = On 으로 변경하였다. 출력되는 에러를 보니 session.save_path = “/var/lib/php/session” 이곳으로 되어 있는데 권한이 없다고 나오는 것이다. 예전에 분명 php 업그레이드 하면서 기존 php.ini를 그대로 쓴것같은데 뭔가 실수 했었나 보다…. 그래서 session.save_path = “/tmp” 이렇게 변경해서 해결했다...
CANNOT LOAD /USR/LOCAL/APACHE2/MODULES/LIBPHP5.SO 에러 해결법 PHP 설치하고 아파치 재시작시 아래같은 메세지가 나오는 것은 PHP lib위치가 바뀌어서 이다. 그러므로 PHP 다시 설치해준다~ 압축푼 폴더 삭제하고 다시 압축풀어서 설치 httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: libmysqlclient.so.15: cannot open shared object file: No such file or directory