개발개발/PHP 16

phpstorm + vagrant 인터프리터 세팅

환경 윈도우10 에서 vagrant 사용, 가상을 hyper-v 로 세팅 설정 ( ctrl + alt + s ) 후 php 에서 cli 인터프리터를 선택 vagrant homestead.yaml 파일 있는 폴더를 선택해 주면 ide 에서 알아서 세팅 해줌 단 hyper-v 로 vagrant 사용하고 있으면 실행 권한 이슈가 있어서 ide 를 관리자 권한으로 실행해야 함 "error occurred while executing "vagrant status" ... " 같은 에러가 나오면 관리자 권한으로 실행 끝!

개발개발/PHP 2022.01.29

GeoIP 설치

PHP 에서 IP 의 국가 정보를 알아내기 위해 GeoIP 를 설치함 언제나 yum [기본프로그램 다운]yum install GeoIP GeoIP-devel [PHP 확장 프로그램 다운]yum install php-pear php-devel httpd-devel [geoip 를 php 용으로 컴파일]pecl install geoip [설정에 추가]extension=geoip.so [확인]# php -aInteractive shellphp > print_r(geoip_db_get_all_info());Array( [1] => Array ( [available] => 1 [description] => GeoIP Country Edition [filename] => /데이터파일 다운로드 위치/GeoIP.dat..

개발개발/PHP 2013.10.21

간단하게 xml 파싱하기

xml 를 다루다 보면 단순하게 파싱하여 데이터 쓸때 좀 헷깔리는 경우가 있다. 내가 실력이 부족해서 그런지... xml 데이터가 배열로 넘어오면 편할꺼라는 생각에 이래저래 파서도 만들어 봤는데. 정말 간단하게 php 에서 xml 파싱하기. $xmlData = simplexml_load_string($xmlString); $json = json_encode($xmlData); $array = json_decode($json,TRUE); [설명] xml 텍스트 파일을 읽어 simplexml 로 오브젝트화 만든다음 해당 내용을 json 으로 인코딩 디코딩 하여 배열로 만들어 준다.단순한 작업 반복이여 비효율 적이지만 배열로 만들어 놓으면 사용하기 편해서...

개발개발/PHP 2013.02.11

mysql_insert_id() 문제점

문제점이라 해야될지 버그라 해야될지. mysql_insert_id 같은 경우 insert 시 현재 순서를 반환하고 update 시에는 다음 auto_increment 를 반환한다. 간단히 설명하면 1번행만 존재하고 있을때. 1번 데이터와 동일한 내용을 update 하면 mysql_insert_id() 가 "2" 을 반환한다. 해당 값이 절대적인 primary_key 인줄 알았는데 그게 아닌 auto_increment 에 따른 순서를 반환함 왜 몰랐지...ㅡㅡ; 상당히 위험한건데... 문제가 발생했던게 "INSERT ... ON DUPLICATE KEY UPDATE ..." 구문을 사용하게 되면 update 와 insert 를 쉽게 할 수 있는데 이렇게 될 경우 insert 인지 update 인지를 알아낼..

개발개발/PHP 2012.11.30

iconv 로 euckr 인코딩 변경할때 오류발생

소스가 euckr 로 되어있고 서버가 utf8 로 되어있어서 해당 언어를 변경을 하는데 다른건 다 이상없이 들어가는데 하나 "춀무그라씨오일" 가 변경이 안되고 공백으로 들어가는 문제가 발생하였다. 그래서 이래저래 테스트해보는데 euckr => utf8 과정에서 문제가 발생. 뒤적뒤적 제길. euckr 가 아닌 cp949 였다. 인코딩 오류. 문제는 받는쪽에서 이놈이 cp949인지 euckr 인지 구별하기가 애매하다는 점... mb_detect_encoding 함수를 사용하면 euckr 은 알아낼 수 있는데 cp949 는 못알아냄 고로 꽁수. 클라이언트가 윈도우쪽이라면 CP949 와 EUCKR 로 둘다 테스트해봐야됨. 걍 CP949 로 해도 상관없을듯.

개발개발/PHP 2012.11.29

eclipse 에서 php 개발시 쉽게 ftp 전송하기.

윈도우 환경에서 eclipse 에 svn 을 사용하고 있던 중에 xampp 로 웹서버를 꾸며 쓰자니 이래저래 세팅 환경 맞추는게 구찬고.리눅스에서만 돌아가는 것들이 있고 해서 매번 서버에 업데이트를 했는데. 이게 너무 귀찬았다. 그래서 구글신을 뒤져봤더니 eclipse plugin filesync.... [목표]1. eclipse 에서 작업을 하고 그 결과를 테스트 웹서버에서 바로 확인하고 싶음.2. 작업 결과는 SVN 으로 관리함. 다만 테스트는 SVN 업데이트나 export 없이 즉시 확인 가능하여야 함 [준비물]1. netdrive 개인사용자 무료 [링크]2. eclipse3. 웹서버 (아이디로 들어갔을시 바로 해당 폴더가 보여야됨)4. filesync [링크] [세팅시작]1. netdrive 설치..

개발개발/PHP 2012.11.26

컴파일된 PHP 에서 확장모듈 설치하기...

정말 쉬운 방법. pecl 확장 모듈의 경우 # {php설치위치/bin/}pecl install 확장모듈 설치 완료!!! 예시# pecl install zip......Build process completed successfully Installing '/php설치위치/lib/php/extensions/no-debug-zts-20090626/zip.so' install ok: channel://pecl.php.net/zip-1.10.2 configuration option "php_ini" is not set to php.ini location You should add "extension=zip.so" to php.ini 해석 : 너님은 extension=zip.so 를 php.ini 에 넣어라 혹시..

개발개발/PHP 2012.07.06

mysql_insert_id() 의 오류...

있길래 사용을 하는데 mysql_insert_id() 로 insert id 값을 받아오는데 전혀 다른 데이터가 넘어오고 있었다. 그래서 구글신게 도움을 청해보니 int 형으로 강제 형변환을 한다고 하네. 그래서 int 가 넘어가는 idx 값을 mysql_insert_id() 로는 못가지고 옴 딱히 일반 게시물로 하면 20억이 넘어가야 되는 숫자라 터무니 없지만... 여하튼 해결책 SELECT LAST_INSERT_ID() 끝~ 참고로 echo PHP_INT_MAX; 결과값 : 2147483647

개발개발/PHP 2012.02.03
반응형