📘 Post

    [PHP] Enum 사용하기

    ⚠️ 2021.06.30에 작성된 글입니다 ⚠️ ※ php 7.4 버전 기준 작성 ※ Enum이란? Enumerated type의 줄임말로, 열거형이란 뜻이다. 서로 관련있는 상수들을 열거한 집합을 말한다. 예를 들어 사과, 바나나, 딸기라는 세 상수를 과일이란 집합으로 묶어 과일 enum을 만들 수 있다. 아래 코드는 위에서 말한 과일 enum을 Kotlin으로 구현한 것이다. enum class Fruit { APPLE, BANANA, STRAWBERRY } 이런 enum은 충분히 예측가능한 상수들을 다룰 때 사용한다. 그 예로, 옷을 고를 때 초록색, 파란색, 빨간색, 검정색 중에서만 선택할 수 있다고 할 때, 다음과 같이 enum을 만들어 사용할 수 있는 것이다. enum class Color {..

    [PHP] 비밀번호 암호화 저장, 비교하기

    ⚠️ 2021.06.15에 작성된 글입니다 ⚠️ ※ php 7.4 버전 기준 작성 ※ 구현 기능 비밀번호 암호화하여 저장하기 (eg. 회원가입) 비밀번호와 입력값 비교하기 (eg. 로그인) 비밀번호 암호화 하기 비밀번호를 암호화할 때에는 아래의 함수를 사용한다. password_hash(string $password, mixed $algorithm, array $options = ?) : string|false $password: 암호화할 비밀번호 $algorithm: 암호화 알고리즘 $options: 암호화할 때의 옵션. salt, cost, memory_cost, time_cost, threads 단방향 암호화해주는 해시함수이다. 즉, 암호화(평문->암호문)는 가능하지만 복호화(암호문->평문)가 불가..

    [PHP] 에러 표시하기

    [PHP] 에러 표시하기

    ⚠️ 2021.06.05에 작성된 글입니다 ⚠️ ※ php 7.4 버전 기준 작성 ※ PHP에서 에러를 표시하는 방법은 두가지가 있다. PHP 파일에서 에러 표시 설정하기 PHP 설정(php.ini)에서 에러 표시 설정하기 PHP 파일에서 설정하기 error_reporting(E_ALL); // 모든 에러 표시 ini_set("display_errors", 1); // 에러 나타내기 php.ini 에서 설정하기 1. php.ini에서 에러 표시 관련 옵션 변경 display_errors = On 2. php 재시작 systemctl restart php systemctl : ubuntu일때의 명령어이다. redhat 계열의 리눅스인 경우 service를 사용하면 된다. php : php-ftm을 사용할 ..

    [Error] AH00558: httpd: Could not reliably determine...

    [Error] AH00558: httpd: Could not reliably determine...

    ⚠️ 2021.02.15에 작성된 글입니다 ⚠️ 문제 상황 아파치를 실행 또는 종료할 때 아래와 같이 에러가 발생한다. 서버이름이 없어 생기는 에러이다. 따라서 서버 이름만 명시해주면 발생하지 않는다. 해결 $ sudo su # find / -name 'httpd.conf' // httpd.conf 라는 이름의 파일 찾기 # vi /usr/local/apache/conf/httpd.conf // 파일 열기 httpd.conf 파일에서 :/ServerName를 입력해 문서 내 'ServerName'을 검색한다. (:는 명령입력을 알리는 신호, /는 현재 커서 이후 내용에 대한 검색, ServerName은 검색할 문구를 뜻한다.) 검색 결과가 없을 경우 엔터키를 눌러 아래로 내려가면서 ServerName이 ..

    [LAMP] PHP 7.4 수동설치(컴파일 설치)

    [LAMP] PHP 7.4 수동설치(컴파일 설치)

    ⚠️ 2021.02.14에 작성된 글입니다 ⚠️ 공식홈페이지의 다운로드 문서에 방법이 자세히 나와있다. 작업 흐름 PHP 버전 선택하기 ↓ 의존성 패키지 설치 ↓ PHP 설치 ↓ Apache - PHP 연동 설치환경 : Ubuntu 20.04, Apache2.4.46 PHP 버전 선택하기 PHP에는 버전이 여러가지 존재한다. 버전에 따라 의존성 패키지의 필요 조건도 달라지기 때문에, 어떤 버전을 설치할지 선택해야 한다. 작성일(2021.02.14) 기준 사용 가능한 버전은 세가지이다. PHP 홈페이지에 가면 현재 기준 지원되는 버전을 확인할 수 있다. (최신버전 확인하기) 7.3.x 7.4.x 8.0.x 보안관련 지원만 되는 7.3을 제외하고, 7.4와 8.0 중 하나를 설치하기로 했다. 이전과 달리 P..

    [LAMP] MySQL 수동설치(컴파일설치)

    [LAMP] MySQL 수동설치(컴파일설치)

    ⚠️ 2021.02.12에 작성된 글입니다 ⚠️ (tip) - MySQL 컴파일 설치는 MySQL 홈페이지에 상세히 나와있다. - MySQL을 컴파일 및 설치하는 단계에서 시간이 매우 많이 걸린다. 대략 3시간이 걸렸다. 컴퓨터 스펙과 가상머신의 설정에 따라 차이가 있겠지만, 적어도 컴파일에만 1시간 이상 걸린다고 생각해야 한다. - MySQL 컴파일 중 HDD(하드디스크) 또는 메모리 용량이 부족해 작업이 중단될 수 있다. 가상머신의 설정이 우분투의 권장 세팅인 HDD 20GB 및 RAM(memory) 2GB라면 넉넉하게 HDD 30GB 및 RAM 4GB로 수정한 뒤 진행하는 것을 추천한다. 작업 흐름 의존성 패키지 설치 ↓ MySQL 설치 설치환경 : Ubuntu 20.04 OS 필수 패키지 설치하기..