1. 장점
C 언어의 문법과 유사하기 때문에 기존의 개발자들에게 쉬운 접근이 허락되었다.
적은 명령어로 프로그래밍이 가능하게 되어 있기 때문에 편리성이란 측면에서 많은 이점이 있다.
다른 언어보다 직관적으로 코드를 작성할 수 있고, 작성해야 하는 코드의 양이 적다.
개인 웹호스팅 부분에서 웹 프로그래밍의 점유율은 여전히 PHP가 강세다.
2. 단점
하지만 간단한 사이트 제작에는 효율적이지만, 복잡한 대형 사이트를 만드는 데는 효율적이지 못하다는 단점이 있고, 오픈소스이기 때문에 단른 언어에 비해 안전하지 않은 언어구조를 갖고 있다.
APM : Apache + PHP + MySQL의 첫 글자를 딴 줄임말
위 세 가지가 연동되어 운영되도록 만든 환경을 의미함.
APM을 사용하기 위해서는 XAMPP를 이용한다. XAMPP를 이용하면, 아래 그림과 같이 Apache, MySQL 서버를 쉽게 열고 닫을 수 있다.

IDE에서도 서버를 열고 닫는 기능을 수행할 수 있지만, XAMPP를 사용하면 보다 직관적이고 빠르게 서버를 실행하고 관련 설정을 할 수 있다는 점이 장점이다.
APM 환경 설정하는 것은 PHP 관련 교재 또는 YouTube 영상을 시청할 것을 권한다.
httpd.conf 실행
1. listen 80 : 포트번호를 의미함.
- 통신사 정책으로 인해 위 포트를 사용하지 못하는 경우는 8080으로 값을 수정해서 사용하면 된다.
2. DocumentRoot : 사용자가 나의 웹에 접근하면 오게 되는 물리적인 위치를 의미함.
3. DirectoryIndex : 아파치 서버로 도메인/IP주소로 내 웹에 접속했을 때 보여줄 문서들의 우선 순위를 지정하는 부분
ex : index.php -> index.pl ...
기본 경로 : C:\xampp\php\php.ini
파일 업로드 관련 설정
- file_updloads = On : 파일 업로드 허용
- upload_max_filesize = 2M : 최대 업로드 파일 사이즈
- post_max_size = 8M : POST방식으로 넘겨질 최대 데이터의 사이즈
- max_execution_time = 30 : 최대 실행시간. 대용량 파일일수록 실행시간 늘려주어야 함. 0으로 설정하면 무한대
- memory_limit = 128M : 실행되는 스크립트마다 최대 메모리 소비량.
크기는 memory_limit>post_max_size>upload_max_filesize 순으로 설정해야 함.
PHP 에러 출력에 관한 설정
PHP 문법 및 변수 값 전달에 관한 설정
register_globals = Off : 상위버전에서는 보안상의 이유로 GET, POST, COOKIE, SESSION 등 변수명을 바로 이용하지 못하도록 기본값이 Off로 설정되어 있음. On을 하면 GET, POST 등의 구분 없이 변수명 바로 사용 가능.
short_open_tag = Off : php는 의 형식으로 사용하게 되는데, 이를 로 줄이는 기능. 다만 XML등 다른 언어에서 이 사용되면서 서버에 혼동을 일으킬 수 있기 때문에 사용 권고하지 않음.
charset 설정
최근까지 Java 기반의 Spring Framework를 공부했기 때문에 JetBrain 사의 IntelliJ Ultimate를 사용하는 것이 더 편하다고 생각했다. 교재에서 권고했던 New Beans에 비해 부족한 기능이 거의 없기 때문이다.




<?php ~~ ?>php문을 사용하기 위해서는 아래의 규칙을 갖추어야 한다. <?php 로 열어주고, ?>로 닫아줘야 한다. php문은 그 사이에 포함시켜야 한다.
아래는 몇 가지의 예제다.
<?php
echo "hello! 안녕!";
?>
<?php
print "아무개의 홈페이지<br>";
print "<font color=red> 좋은 하루 되세요!</font>";
?>
사실
<font>tag는 더이상 HTML에서 사용되지 않는 태그여서 사용 시 IDE에서는 사용하지 말라는 경고를 띄운다. 앞으로도 쓸 일은 없지만 테스트를 위해 사용해보았다. 아래처럼 출력은 잘 된다.