'프로그래밍 & 개발'에 해당되는 글 12건

  1. 2025.04.03 윈도우 환경(윈도우 11 사용)에서 PHP 설치
  2. 2025.04.01 HTML Input button 에서 외부 링크로 이동하는 방법
posted by 검신흑태자 2025. 4. 3. 20:16

PHP로 개발을 공부하거나 프로젝트, 업무 등을 진행할 때 윈도우 환경에서 PHP 설치에 관하여 제가 직접 설치해보고 글을 작성합니다. 리눅스나 Mac의 경우 참 간단하고(명령어가 잘 되어있기도 하고요) 쉬운편인데 희안하게 윈도우만 넘어오면 쉽지가 않네요. 원래는 XAMPP를 썼었지만 MySQL(Maria DB)가 계속 오류를 일으켜서(제대로 켜지지 않고 shutdown error가 발생) 매번 백업 파일을 복원하거나 백업하는 것도 힘들어져서 PHP, MySQL(Maria DB), Nginx(아파치를 쓰려다가 그냥 Nginx로 가기로 했습니다) 를 다 따로 설치한 뒤에 올리는 글입니다. 일단은 먼저 PHP 설치부터 글을 시작합니다.

 

1. https://www.php.net/ 에서 윈도우 릴리스 버전을 다운로드 합니다. 다른 DB 툴을 쓰시는 분들은 괜찮지만 저는 phpMyAdmin을 쓸 예정이 있었기에 8.4 버전에서는 phpMyAdmin이 어떻게든 에러가 나서 버전을 낮춰서 8.3으로 설치했습니다. 그래서 php.net 에서도 8.3버전을 다운로드 하시는게 나을 겁니다.(phpMyAdmin을 사용하실 경우만요)

 

2. 설치 종류는 4가지인데 64, 32비트의 차이, Non-Thread-Safe와 Thread-Safe 버전으로 나뉘어 집니다. 보통은 Non-Thread-Safe는 IIS(윈도우즈 서버)에서 많이 사용되니 여기서는 Thread-Safe 버전으로 설치합니다.

 

현재(2025년 4월 3일 기준)으로는 8.4 버전에 대해 메인 페이지에 나와있지만 저는 Download로 들어가서 8.3 버전의 윈도우 다운로드쪽 징크를 선택하면 위와 같이 나옵니다. Thread Safe 버전으로 설치하기로 했기에 64비트의 Zip을 설치해서 다운 받습니다.

 

3. 받은 압축파일을 자신이 원하는 경로에 풀어줍니다. 저는 원활한 관리를 위해 Servers라는 폴더를 만들어서 거기에 php, nginx, mysql을 모두 넣어서 관리하고 있습니다.

 

4. 압축해제를 하면 기본적인 설치는 다 되지만 기본적으로 PHP 작동을 위한 윈도우 환경변수 설정을 해야합니다.

 

5. 윈도우 키를 눌러 환경 변수를 검색 -> 시스템 환경변수 클릭 -> 하단에 환경변수 클릭

 

6. 환경변수를 클릭하면 위와같은 화면이 나올텐데 시스템 변수쪽에 있는 Path를 선택하고 편집을 누릅니다.

7. 자신의 php가 설치되어있는 경로를 입력해 줍니다.

 

8. 윈도우 버튼을 누른 후 cmd를 입력하고 php -v로 버전 확인이 되는지 보면 됩니다.

 

9. php 8.4 버전도 composer를 쓰면 phpMyAdmin이 된다고는 하는데 윈도우에서 composer를 설정하기가 복잡한게 많아서 그냥 0.1 버전 다운그레이드(기본 문법이나 이런면에서 크게 변경점은 없습니다.)해서 설치했습니다.

 

10. 설치가 완료되면 cmd에서 php를 실행해야 하는데 자신이 설치한 경로에서 cmd 창을 열고 php-cgi.exe -b "127.0.0.1:포트번호" -c php.ini 로 실행을 해주면 잘 작동 할 겁니다.

 

11. 제 경우 PHP 실행 시 매번 cmd에서 입력하는 부분이 귀찮았기 때문에 bat(배치 파일) 파일을 만들었습니다.

@ECHO On 
ECHO PHP-CGI Start

php-cgi -b "127.0.0.1:포트번호" -c php.ini

popd

:loop
goto loop

 

12. bat 파일로 저장하면 실행 이후 CMD 창이 떠 있을 겁니다. loop 문의 경우 CMD 창이 닫혀버리면 실행 여부를 컴퓨터를 켜놓았을 때 작업 관리자로 확인을 해야해서 계속 띄워져 있을 수 있도록 하려고 넣었습니다. 그리고 실행되어 있는 CMD 창이 닫히면 php-cgi가 종료되서 php 코드 실행이 안되므로 실행이 안될 경우 확인해 보도록 하는게 좋겠네요

 

13. 마지막으로 배치 파일도 작업 표시줄에 등록을 하려고(이 귀차니즘 때문에..)해서 아래와 같이 하면 됩니다.

 - 배치 파일 우클릭 후 바로가기 생성

 - 생선된 바로가기 우클릭 후 속성에서 바로가기 탭으로 이동

 - 경로의 맨 앞에 cmd.exe /C를 추가합니다(경로와 한칸 공백이 있어야 합니다.)

 - 해당 파일이 cmd로 변경되면서 작업 표시줄에 추가가 됩니다.

 

저는 PHP + MySQL(MariaDB) + Nginx를 같이 쓰는데 XAMPP는 아파치를 기본으로 사용하기 때문에 제 설정과는 다를 수 있습니다. 다음에는 윈도우에서 Nignx 설정을 하는 방법을 업로드 할 수 있도록 하겠습니다. 혹여 저처럼 XAMPP에서 오류가 난다거나 개별적으로 PHP를 설치하고자 하시는 분들께 도움이 되길 바랍니다.

 

posted by 검신흑태자 2025. 4. 1. 23:57

프로젝트를 진행하는 도중 급하게 버튼을 만들고 다른 페이지로 이동을 시켜야 하는 일이 있었는데 지금 진행하는 프로젝트는 PHP를 이용하고 있으므로 대개는 버튼 등은 HTML 태그를 이용해서 만드는 편이어서 간편하게 input 태그에서 button 입력 시에(클릭) 외부 링크나 자신이 원하는 페이지 파일로 이동하는 방법을 간단하게 정리합니다.

 

현재 탭에서 다른 페이지로 이동하는 방법은 아래와 같습니다.

<input type="button" onClick="window.location='이동경로(링크) 혹은 파일경로'">
<input type="button" onClick="location.href='이동경로(링크) 혹은 파일경로'">
예시
<input type="button" name="test" id="test" value="현재탭" onClick="window.location='test.php'">
<input type="button" name="test2" id="test2" value="현재탭2" onClick="location.href='test2.php'">

 

큰 문제까지는 아니지만 가끔씩 location.href가 제대로 작동하지 않는 경우가 있어 저는 주로 window.location을 사용합니다.

 

그리고 현재 탭의 정보는 그대로 두고 새 탭에서 열려야 하는 경우가 있는데(설정을 누르고 새탭에서 설정하고 돌아온다거나) 그 경우는 간단하게 아래와 같이 코드를 작성합니다.

<input type="button" onClick="window.open('이동경로 혹은 파일경로')">
예시
<input type="button" name="test3" id="test3" value="새탭" onClick="window.open('test3.php')">

 

혹은 팝업이 필요한 경우도 있는데(대부분은 새탭보다는 이걸 선호할 수 있겠네요) 이 경우는 window.open에 옵션으로 팝업의 이름과 크기 등을 지정해서 사용하면 간단하게 팝업 출력이 가능합니다. 아래의 코드의 옵션 외에도 스크롤 여부 등의 추가 옵션이 있기 때문에 세세한 사항을 설정하고 싶으시면 그 옵션들을 찾아보시면 될 것 같네요.

<input type="button" onClick="window.open('이동경로 혹은 파일경로', '팝업이름', 'width=가로크기, height=세로크기')">
예시
<input type="button" name="test4" id="test4" value="팝업" onClick="window.open('test4.php', 'POPUP', 'width=300, height=400')">

 

이렇게 팝업 출력을 할수는 있지만 매번 입력하기도 번거로운 측면이 있고 해서 자바 스크립트로 스크립트를 만들어서 적용하는 경우가 대부분이라고 생각이 되네요. 버튼을 이용해서 링크 이동은 이정도만 알고 있어도 충분히 활용할 수 있을 것 같습니다.