간만에 네이버페이 주문형 결제연동하다가 서버에 mcrypt 함수가 지원이 안되어 모듈 실행시 오류가 발생하는 문제가 생겼다. 해당 서버의 PHP 버전은 7.4 였는데 당장 서버에서 지원이 안되는 관계로 조금 난감하게 되었다. PHP 공식 포럼에는 해당 함수가 7.1 부터 배제되었고 7.2부터는 제거 되었으니 해당 함수에 의존하지 말라고 명시가 되어있었다. ···
JSON은 오브젝트 데이터의 직렬화 데이터 기법으로 프로그램에서는 공통 언어로 많이 사용된다. 이는 프로그램 언어가 서로 달라도 하나로 통일하여 소통이 가능하도록 연결해주는 역활을 한다. PHP에서는 배열을 이용하여 json_encode() 함수를 이용한 변환 방식을 주로 사용하는데 이와 함께 많이 쓰이는 serialize() 함수도 있다. serializ···
웹 사이트를 운영하다보면 사용자 입력 또는 프로그램 처리 시 조건에 맞지 않을 경우 예외처리를 해야한다. 이럴때는 해당 페이지에 스크립트 alert 을 이용하여 에러 메시지를 띄우고 페이지를 이동을 하게 되는데 보기가 좋지 않다. 이럴때 사용할 수 있는 방법은 처리되는 페이지를 ajax 처리 하여 결과를 받게 되는데 페이지 구조상 ajax 처리가 아닌 페이···
PHP를 하다보면 간혹 변수앞에 &(엠퍼센트) 부호를 볼 수 가있다. 우리는 언제나 그렇듯 아무생각 없이 그냥 넘어갈때가 있는데 이 부등호는 AND 부등호와는 다르게 주소참조 부등호로 특정 값을 참조할때 사용하는 부등호이다. 조금 더 무식하게 예를 들자면 신용카드를 복제하여 사용할 수 있듯이 기존 변수를 참조시키고 해당 변수값을 변경하면 기존 변수값···
PHP에서 변수 체크시 많이 쓰는 함수는 isset 과 empty 함수가 있다. 이 두함수 관계는 서로 친척 관계정도로 생각하면 되나 엄밀히 따지면 사용하는 용도가 다르기 때문에 체크해야할 변수 상황에 맞게 써야 한다. isset 같은 경우 변수가 존재하는지에 대한 체크이며 empty 함수의 경우 변수의 값이 비었는지 체크하기때문에 주로 값 필 수 여부 체···
PHP에서 사용하는 배열은 정말 많은 영역에서 자유롭게 사용이 가능하며 관련되어 지원되는 내장 함수들도 많기때문에 배열처리를 하여 자주 사용하게 된다. 하지만 웹 영역만 접해본 개발자들에게 배열은 그냥 편리한 존재일 수 있지만 C 나 JAVA 처럼 소포트웨어쪽 개발도 접해본사람이라면 PHP 배열을 접했을 시 이게 배열인지 그냥 멀티 저장변수인지 신기할 수 ···
이미지업로드는 웹상에서는 많이 사용하는 기능으로 이미지를 업로드 후 PHP를 통해 파일 또는 DB를 통해 주로 저장한다. 이번편에서는 가장 기본적인 파일 업로드 후 PHP를 통해 저장 후 미리보기 프로그램 소스에 대해 알아보도록 하자. 1. 파일생성 FORM 을 작성 | file.php 아래와 같이 file 을 업로드 하는 기능을 가진 form을 생성해 보···
이번포스팅은 정말 엉뚱하게도 한글 전체 DB를 만드는 과정에서 한글 초성,중성,종성 단위로 분리할 수 있을까라는 의문점이 들어 시작되었다. 간혹 MAC 기기로 부터 받은 파일명들을 보면 한글이 초성,중성,종성 단위로 분리되어 표시가 되는데 정말 쓸떼없이 한번 만들어보고 싶었다. 일단 처음에는 내 얕은 지식을 통해 mb_ord로 열심히 규칙을 찾아보았지만 어···
PHP 에서 디렉토리관련하여 상당히 많은 함수들이 제공된다. 그중 패턴을 이용하여 파일명 리스트를 추출할 수 있는 glob 라는 함수가 있는데 오늘은 이함수에 대해 간단하게나마 알아 보도록 하자 먼저 이함수는 아래의 PHP 그룹 사이트에서 상세 정보를 확인 가능하다. PHP: glob - Manual PHP: glob - Manual www.php.net/···
지난편에서 `SetEnvIf 를 활용한 헤더(header) 데이터 받기` 를 알아보았고 이번편에서는 AJAX 통신으로 헤더값을 주고 받는 방법에 대해 알아보고자 한다. (왠지 내가 올린글들만 설명이 많이 떨어지는것같다..) JQUERY 의 AJAX 로 헤더 데이터를 담아 보내기 서버에 index.php 파일을 만든다음 아래 소소코드를 복붙한다. 참고로 헤더 ···
API 작업 시 헤더에 중요 정보를 담아서 처리해야할때 가있다. 하지만 서버에 따라 apache_request_headers() 함수가 지원이 안되는 경우가 있는데 이때 해결방법으론 .htaccess 를 이용하여 별도 처리하는것이다. 작업은 조금 번거로울 수 있으며 아파치의 mod_setenvif 모듈이 설치되어있어야 해결가능하다. 그외 방법은 나도 찾아본···
웹 제어가 index.php 에서 이루어지지 않고 각 디렉토리 방식으로 제어가 되는 경우 보안을 위해 접근이 불가한 디렉토리를 설정해야 할때가 있다. 설정 방법에는 아파치 설정을 통한 방법과 아파치에서 제공하는 .htaccess 를 통한 제어 방식이 있는데 이번편에서는 .htaccess 를 통한 제어 방식을 설명하고자 한다. .htaccess 는 아파치에서···
MYSQL의 경우 웹서버 운영시 DB연결을 위해서 반드시 필요한 모듈로 이번편에서는 설치에대해서만 간단하게 알아보고 설정에 대해서는 추후 다시 알아보도록 하자. 설치의 경우 yum을 이용하여 설치 가능하나 Centos 7에서는 mysql 이 아닌 mariadb 로 설치가 되는점 참고바란다. mariadb에 대해 자세히 알아보고 싶다면 아래 블로그를 참고하기···
mb_str_split PHP: mb_str_split - Manual PHP: mb_str_split - Manual www.php.net/manual/en/function.mb-str-split.php PHP 함수중 하나인mb_str_split 의 경우 PHP 7.4 이상에서 사용이 가능한 함수로 하위 버전에서는 사용이 불가능하다. 그래서 대충 새로 ···
8월의 첫 휴가가 떨어지고 그동안 미뤄두었던 PHP 메일 라이브러리를 완성 시켜볼까 하여 무작정 신규 라이브러리를 작업을 시작하였다. 솔직히 메일 라이브러리에 대한 문의가 많이 왔으나 회사일이 너무 많아 손을 쓰지 못하고 있었고 기존 smtpSendMail 라이브러리 2.0을 개발도중에 작은 실수로 1.0 소스와 짬뽕이 되는 바람에 자포자기 하는 심정으로 ···
지난번 편에서는 Centos 에서 아파치를 설치하는 방법에 대해 알아보았다. 이번편에서는 웹서버를 운영하는데 필요한 PHP 및 추가 패키지 설치하는 방법에 대해 알아보자 (이제와서 이야기하지만 서버 명령어 앞에 [root@localhost ~]# 의 경우 빼고 실제 명령어만 입력해 주어야 한다...ㅡ..ㅡ) PHP 저장소 추가 아래 명령어를 통해 php 저···
Centos 기준으로 yum 을 통한 아파치 설치방법을 간략하게 소개할까 한다. 나역시 서버 전문가가 아니기 때문에 조금 부족한 부분들을 타 블로그를 통해 설치를 진행 하기 때문에 현재 포스팅을 보고 있다면 누구든 할 수 있을 거라 믿는다. 사양확인하기 현재 서버의 사양은 아래의 명령어를 통해 확인 가능하다. [root@localhost ~]# cat /e···
최근 회사와 개인 프로젝트에 지쳐 간만에 코딩을 쉬고 죽어가는 오래된 나의 서버를 접속해보았다. 그런데 이상하게도 서버가 굉장히 느린것 같아 습관처럼 여러 로그들을 살펴보았다. 그렇게 로그를 살펴보던중 가장 신경쓰이는 로그가 있었는데 그건 maillog 에 있는 postfix sasl 로그였다. 이 로그가 0.5초 단위로 아이피 약 60 군데정도에서 무작위···