PHP 실행환경 만들기 및 간단 예제 실행

문상우·2023년 6월 24일

PHP

목록 보기
2/2
post-thumbnail

작성일 : 2023.06.24(토) 21:46

현재 나이 25,, 4학년 2학기를 위해 달려가는 중 인턴쉽 수업에 참석하게 되어 인턴을 나가게 되었다. 현재 회사에서 php를 사용중이라고 들어서 아무생각 없이 가면 안되겠다라는 마음에 실습을 진행하기로 했다..


실행환경

PHP 실행환경을 만들기 전에 어떻게 동작할 수 있는지를 알아야겠다고 생각했다. JavaScript 같은 경우 웹 브라우저에서 실행시키면 되지만 php의 경우 PHP Parser 위에서 동작해야 하기 때문에 Web Server가 필요하다.


PHP 실행 방법

PHPJavaScript와 마찬가지로 웹 브라우저에서 동작한다. 그냥 웹 브라우저에서 실행시킬 수 있다는 말이다. 그럼 JavaScript와는 무슨 차이가 있냐. 바로 어떤 관점인지가 중요하다. JavaScript는 Client 측에서 실행되고, PHP는 Server 측에서 실행된다. 즉, JavaScript는 단지 Client에서 웹 브라우저를 켜서 동작하면 되지만, PHP는 Web Server를 구동한 후, 이곳에 빌드된 파일을 업로드 하는 방식으로 실행할 수 있다. 말로만 설명해서는 이해하기 힘들다. 실제 환경을 만들어보자

먼저 위에서 말했듯이,, PHP와 Web Server를 깔아야 한다.


1.PHP설치

brew install php@8.1

처음엔 8.2 버전으로 다운받으려 했으나,

brew에서 찾을 수 있는게 8.1인 것 같아 8.1로 설치했다


2.Web Server (apache) 다운

brew install httpd

3.httpd.conf 파일 내용 수정

// 1. /opt/homebrew/etc 로 이동
cd /opt/homebrew/etc

// 2. httpd.conf 찾기
find . -name httpd.conf

// 3. 결과
./httpd/httpd.conf
./httpd/original/httpd.conf

// 4. httpd/httpd.conf 열기, 
// 만일 위 결과가 다르다면 경로를 다르게 지정하여 httpd.conf 를 열면 된다.
vi ./httpd/httpd.conf 

수정해야 할 부분 (vi 편집기에서 수정모드는 i 를 누르면 된다.)

이 부분에서 Listen 뒤의 숫자를 80으로 변경시킨다.
위에 # 블라블라는 주석이므로 신경 쓸 필요없다.


위 내용을 찾아 아래 사진과 같은 형태로 만들어야 한다.

LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

위 코드는 주석만 지우면 되고

LoadModule php_module /opt/homebrew/opt/php@8.1/lib/httpd/modules/libphp.so

위 코드는 추가 해야 된다.


바로 밑에서 UserGroup을 바꿔준다. User 뒤에는 현재 본인이 사용하고 있는 이름을 써주면 되고, Groupstaff로 변경한다.


ServerAdmin 뒤를 localhost 로 변경시켜준다.


DocumentRoot는 내가 php를 사용할 경로로 지정하면 된다. 나는 /Users/sangwool 에 php 디렉토리를 새로 만들어 이곳에서 테스트를 진행하기 위해 위처럼 경로를 지정했다.

1. DocumentRoot "/Users/sangwool/php"
2. <Directory "/Users/sangwool/php">

// 아래에 있는 AllowOverride 설정을 변경시켜주어야 한다. (All로)
3. AllowOverride All

위는 변경시켜야 할 사항만 따로 빼놓았다.


맨 아래에 이 세줄을 추가하면 끝이다.

AddType application/x-httpd-php .html .php
AddType application/x-httpd-php-source .phps

PHPIniDir /etc
  1. 모든 편집이 끝났다면, esc 를 눌러 명령 모드로 간 후,
  2. : 를 눌러 마지막 라인 모드로 가서
  3. wq 를 입력 및 엔터를 눌러 저장 및 나가기 명령으로 종료하면된다.

4.php.ini 파일 수정

// 1. /opt/homebrew/etc 로 이동
cd /opt/homebrew/etc
    
// 2. php.ini 찾기
find . -name php.ini
    
// 3. 결과
./php/8.1/php.ini
    
// 4. php/8.1/php.ini 열기, 
// 만일 위 결과가 다르다면 경로를 다르게 지정하여 php.ini 를 열면 된다.
vi ./php/8.1/php.ini

들어갔으면, 해당 코드를 찾는다. 그 이후, Off로 되어 있는 애들을 모두 On으로 변경한다.

이후 :wq 명령을 통해 저장하고 나온다.


저장하고 난 이후, 8.1 내부에 존재하는 php.ini 파일을 etc 경로에 복사해야 한다.

cp /opt/homebrew/etc/php/8.1/php.ini /opt/homebrew/etc/php

위 코드를 실행하여 /opt/homebrew/etc/php/8.1/php.ini에 존재하는 파일을 /opt/homebrew/etc/php에 복사하면 된다.


5.apache 서버 실행

brew services list

먼저 brew 에서 실행중인 서비스를 조회한다.

보면 httpd 가 none 상태인 것을 확인할 수 있다.


brew services start httpd

httpd(apache) 서버를 실행시킨다.

이후 web 브라우저에 localhost 를 친다.

여기까지 왔다면,, Web Server 등록은 성공이다..! 위에서 제공하고 있는 프로젝트 파일은 단지 php 파일안에 어떤 파일이 있는지 리스트로 보여주는 것이므로 신경쓰지 않아도 된다!

이제 가장 기본이 되는 php 문법을 실행해보자.


PHP TEST

아까 설정해뒀던 php 폴더의 index.php 파일을 생성한다.

<!-- index.php -->
<head>
	<title>Webcome PHP</title>
</head>
<body>
	<?php
		echo "PHP 문법에 오신걸 환영합니다!";
	?>
</body>

localhost/index.php 를 통해 정적 페이지를 php 문법을 통해 body값을 변경한 것을 확인할 수 있다.

위에서 php.ini 파일 안에서 설정한 short_open_tag를 통해 아래와 같은 문법도 사용 가능하다.


short_echo_tag

<!-- index.php (short_echo_tag) -->
<head>
	<title>Webcome PHP</title>
</head>
<body>
	<?=
		"PHP 문법에 오신걸 환영합니다!";
	?>
</body>

short_tag

<!-- index.php (short_tag) -->
<head>
	<title>Webcome PHP</title>
</head>
<body>
	<?
		echo "PHP 문법에 오신걸 환영합니다!";
	?>
</body>

위 short_echo_tag와 short_tag는 모두 같은 결과를 출력한다.


결론

php 문법을 이용하여 이후에는 간단한 게시글을 만들어볼 예정이다. 험난한 여정이였지만,, 문제 없이 실습을 진행해볼 수 있음에 뿌듯함을 느꼈다,,!


참고

[PHP] MacOS에서 PHP 설치하기

https://velog.io/@timcodejs/PHP-MacOS에서-PHP-설치하기

PHP 문법

http://www.tcpschool.com/php/php_intro_syntax

PHP 태그 - php.net

https://www.php.net/manual/en/language.basic-syntax.phptags.php

profile
성실하게 도전하고 기록하며 성장하자

0개의 댓글