[PHP] 2장. PHP 개발 환경 설정

큐가·2025년 3월 26일
0

AI가 알려주는 PHP

목록 보기
2/3

2. PHP 개발 환경 설정

2.1 웹 서버 설치 및 구성

  • 웹 서버: PHP 파일을 실행하고 웹 브라우저에 결과를 전달하는 역할을 한다.
    1. 웹 서버 선택: Apache, Nginx, IIS 등이 있으나 개발시 구축이 편한 Apache를 사용한다.
    2. 웹 서버 설치
    3. 웹 서버 구성
    4. 테스트: 웹 서버 설치와 구성이 완료되면 테스트를 진행한다. 웹 브라우저를 열고 "localhost" 또는 웹 서버의 IP 주소를 입력하여 접속한다. 웹 서버거 동작하고 PHP가 올바르게 구성되었다면 "Hello, World!"와 같은 간단한 PHP 프로그램을 실행할 수 있어야 한다.

2.1.1 아파치 웹 서버 설치

  1. 아파치 웹 서버 설치

  2. 아파치 웹 서버 구성

  3. 방화벽 구성

  4. 아파치 웹 서버 실행

  5. 테스트

  • ip 주소 보는 명령어: ip a -> 두번째 inet 뒤에 숫자가 ip 주소

2.2 MySQL 설치 및 구성

  1. MySQL 설치

  2. MySQL 구성

  • MySQL의 구성 파일은 일반적으로 /etc/mysql/mysql.conf.d/mysqld.cnf 경로에 위치한다.
  1. 방화벽 구성

  2. MySQL 서버 실행

  3. MySQL 사용자 및 권한 설정

2.3 PHP 설치

  1. PHP 설치

  1. PHP 구성 변경(선택사항)
  • PHP를 설치한 후에 PHP 구성을 변경하기 위해서는 /etc/php/{version명}/apache2/php.ini 경로의 파일을 열어 수정한다.
  1. 웹 서버와의 연동 확인


PHP.ini 파일에서 사용가능한 PHP 모듈(중요한 것 위주)

  • mysqli: MySQL 데이터베이스와의 상호작용을 위한 모듈. mysqli 함수를 사용하여 데이터베이스 연결, 쿼리 실행, 데이터 검색 등을 수행할 수 있다.
  • pdo_mysql: PDO(PHP Data Objects)를 사용하여 데이터베이스와의 상호작용을 할 수 있도록 해준다.
  • gd: 그래픽 처리와 이미지 조작을 위한 모듈.
  • curl: 웹 상의 다른 서버와 통신하기 위한 모듈. HTTP 요청 및 응답을 할 수 있다.
  • openssl: 암호화 기능을 제공하는 모듈. HTTPS 통신, 암호화된 데이터의 생성 및 해독 등에 사용된다.
  • json: JSON 데이터 형식을 다루기 위한 모듈.
  • session: 세션 관리를 위한 모듈.
  • mbstring: 문자열을 다루기 위한 모듈.
  • xml: XML 데이터를 다루기 위한 모듈.
  • zip: ZIP 파일 압축 및 해제를 위한 모듈.

php.ini 파일 활성화
1. 파일 열기: php.ini 또는 /etc/php/{version}/apache2/php.ini에 위치함
2. 모듈 활성화: ;extension=모듈_이름 주석 처리를 찾고 세미콜론(;)을 제거하여 주석을 해제한다.
3. 웹 서버 재시작: 저장한 후에는 웹 서버를 다시 시작해야 한다.
명령어: sudo service apache2 restart

2.4 개발 도구 소개

2.4.1. IDE - 우분투에서 사용할 수 있는 주요 개발 도구

  1. Visual Studio Code: 경량 코드 편집기. PHP 개발에 적합하다.
  2. PhpStorm: PHP 개발 전용 IDE. PHP에 특화된 기능과 통합 개발 환경을 제공하고 있다.
  3. Eclipse PDT: Eclipse 플랫폼 위에서 동작하는 PHP 개발 도구.
  4. Sublime Text: 빠르고 가벼운 텍스트 편집기, 다양한 언어를 지원함.
  5. Atom: GitHub에서 개발한 오픈 소스 텍스트 편집기. 다양한 언어에 대한 풍부한 확장성을 제공.

2.4.2 MySQL Client - 우분투에서 사용할 수 있는 MySQL 클라이언트 프로그램

  1. MySQL 워크벤치: 공식적으로 MySQL에서 제공하는 통합 개발 환경.
  2. phpMyAdmin: 웹 기반 MySQL 관리 도구. PHP로 작성되어있다. 웹 브라우저를 통해 MySQL 데이터베이스를 관리할 수 있다.
  3. DBeaver: 오픈 소스 데이터베이스 도구. 다양한 데이터 베이스 시스템에 대한 클라이언트 기능을 제공.
  4. MySQL 클라이언트: MySQL 서버와 상호작용 하기 위한 명령줄 도구. 우분투에 기본적으로 설치되어있고 mysql명령어를 사용하여 실행할 수 있음. 터미널에서 명령어를 사용하여 데이터베이스에 접속하고 쿼리를 실행할 수 있다.
profile
대학교 2학년, 컴퓨터학과

0개의 댓글