IIS php 셋팅 하기 


안녕하세요. 고코더 입니다. 



인터넷 정보 서비스 
마이크로 소프트가 만든 웹 언어인
IIS 에서는 ASP와 .net 뿐만 아니라

PHP도 실행할 수 있습니다.
다만 간단한 몇 가지 설정이 필요합니다.

그 전에 
"웹 플랫폼 설치 관리자" 를 먼저 설치해주세요.

IIS를 배우는 시간이기에
PHP 프로그램을 따로 설치하는 방법은 안하겠습니다.
(PHP 는 사실 그냥 설치 프로그램을 실행만 하면 되긴 하죠.)

그리고 패널 화면 오른쪽 작업 안에 있는
IIS 새 웹 플랫폼 구성 요소 가져오기 를 클릭 합니다.


▼ 실행된 프로그램에서
PHP 라고 검색 합니다.



▼ 마치 메이븐처럼 
필요한 프로그램들을 추가 클릭으로 설치가 가능합니다.
저희는 php7.0을 설치해보겠습니다.
추가를 눌러주세요.


▼ 필요한 구성요소를 말해주네요.
동의 합니다. 그리고 직접 다운로드 링크까지 제공 해주네요.


▼ 그럼 설치가 진행됩니다.
깨알 같은 Azure 홍보도 잊지 않네요


▼ PHP 설치가 완료 되었습니다. 



▼ 제 컴퓨터 기준으로는
아래 폴더에 설치가 완료 된게 보입니다. 
C:\Program Files (x86)\PHP\v7.0


▼ 이제 IIS에서 
처리기 매핑을 실행합니다.


▼ 모듈 매핑 추가를 클릭해주세요.


▼ 그리고 아래처럼 값을 입력 합니다.
마지막에 이름은 내가 알아보기 위한 이름입니다.
원하시는 이름명으로 사용하셔도 됩니다. 


▼ 예 를 클릭해주세요.


▼ 그럼 이제 준비가 완료되었습니다.
IIS에 PHP 파일을 업로드 해서 실행해보겠습니다.


▼ PHP 소스의 내용은 아래와 같습니다. 
<?php
phpinfo();
?>



▼ 그리고 IIS에서 서버를 구동해
해당 파일을 실행 해보면 와우
놀랍게 PHP랑 ASP 가 함께 구동 되고 있네요 




참고할 만한 글들


APM - 오토셋 (autoset) 설치

IIS - 웹 플랫폼 설치 관리자 셋업 / 다운로드

IIS - HTML을 ASP로 인식 / 스크립트 매핑

PHP - XAMPP 설치하기 (새로운 APMSETUP)

PHP | Nginx | MariaDB - WNMP 설치, 다운로드, 기본셋팅

PHP - APMSETUP7 설치



마무리


IIS에서 많이들 PHP를 사용하고 계십니다.




댓글을 달아 주세요


PHP 7 버전에서 예약오류 


안녕하세요. 고코더입니다. 

XE로 홈페이지를 개발하던중
아래와 같은 오류가 자꾸 발생합니다.

Fatal error: Class 'Object' not found in /doorweb_content.class.php on line 682

이유는 단순 합니다.
Object 라는 클래스 명을 이젠 사용 할 수 없습니다.

최신버전 XE 코어에서는 이를 
class_alias('BaseObject', 'Object');

클래스명을 변경해주는 코드를 심었지만
오래된 위젯같은 애드온성 소스들은 그대로 남아있습니다.

해당 오류가 표시하는 페이지에 갑니다. 
아래처럼 코딩 되어 있습니다.

▼ Object 라는 클래스명이 잘못되었습니다.
class doorweb_contentItem extends Object {


▼이를  BaseObject 로 변경 해주었습니다.
class doorweb_contentItem extends BaseObject {


그럼 이제 오류는 나타나지 않습니다.

xe 최신버전에 php7대를 쓰시는 분이라면
해당 오류가 나타날떄마다 
클래스 명을 바꿔 주시면 됩니니다.


마무리


Object가 클래스명이라니~


댓글을 달아 주세요



mysql mysqli 다른점


안녕하세요. 고코더 입니다. 



두 개의 함수가 다른 점을 필요한 내용만 정리 해보겠습니다.


1. php 5 이상에서는 mysqli


mysql 함수는 5 이하에서 사용하던 방식이었습니다.
(5부터는 확장하면 사용이 가능합니다.)
mysqli 함수는 현재 최신 버전 7에서 기본 
사용 가능합니다.

▼ connect 기능 중심으로 문서를 비교 해보겠습니다.
기존의 mysql_connect는 php 4와 5 버전이라고 나와 있습니다. 오랫동안 함께 해온 mysql 함수입니다.


▼하지만 mysqli는 php 5와 7을 쓰라고 명시 해났습니다.
그리고 7에서는 mysql을 쓸 수 없습니다.


결론적으론 7부터는 mysqli 만 사용이 가능합니다.
혹시 php5 버전이라면 mysqli로 변경하시길 추천드립니다.


2. 디폴터 커넥션 허용되지 않음


가장 많이 쓰는 _query 함수를 비교해보겠습니다.

▼ 기존의 query함수는 연결 변수를 받지 않아도 사용이 가능하였습니다.


▼mysqli 부터는 link 값을 받게 되었습니다. 우리가 자연스럽게 사용하던 디폴트 커넥션 기능이 끊겼습니다.
연결시에 반환 된 값을 파라미터에 담아줘야 합니다.

파라미터 순서도 변경 되어서 연결 부분은 수정해줘야 합니다. 헷갈려서 쓰지 말라는 PHP의 배려입니다. 



mysql의 버전 대비와 보안 향상을 위한 조치인 것으로 보입니다. 그래도 덕분에 속도 면에서는 강력하게 향상되었습니다

PHP7에서 많은 변화가 이루어졌고 그중에 대표적인 사례가 mysql, mysqli 의 차이가 아닐까 싶습니다.

기존 mysql 함수로 만들어진 DB 헬퍼 소스를 못쓰게 된 게 많으니 버전 업을 생각하신 분들은 mysqli로 수정 개발을 고민을 해보시는게 좋을거 같습니다.


마무리

발전은 좋은데 변화가 많네요.


댓글을 달아 주세요



 WNMP로 Nginx와 PHP 마리아DB 사용하기


  1. 설치 
XAMPP 로 아파치와 PHP를 실행시켜봤다면
최근에 많이 쓰이는 Nginx와 PHP를 Wnmp라는 프로그램으로 실행해보겠습니다.

▼해당 웹사이트 접속후에 프로그램을 다운로드 (가끔 접속이 안됩니다..)



▼ 혹 해당 사이트에서 

https://sourceforge.net/projects/wnmp-env/


▼ 사이트들이 원활하지 않다면 첨부파일을 다운받아 설치하세요.

Wnmp-3.1.0.zip

Wnmp-3.1.0.z01

Wnmp-3.1.0.z02

Wnmp-3.1.0.z03

Wnmp-3.1.0.z04

Wnmp-3.1.0.z05



설치 후 실행 후 모습 XAMPP와 같은  UI다 각 start만 눌러주면 알아서 연동 후 실행됩니다.

 


  1. Nginx 설정         
     ▼엔진엑스의 간단한 설정을 해보겠습니다.
Configuration에서 nginx.conf를 실행      
     



       ▼대략 40번째 줄에 root 부분에 PHP 작업 폴더를 지정한다.
        대략 41번째 줄에 root 파일을 지정합니다.
    ## Root and index files.
    root D:/프로젝트폴더;     
    index  index.php index.html index.htm;

▼그리고 html에 PHP소스로 인식하기 위해서는 
대략 60번째줄에 location 부분을 아래처럼 바꿉니다.   
        ## Regular PHP processing.
        location ~ \.(php|html|htm)$ {     
            try_files  $uri =404;
            fastcgi_pass   php_processes;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

  1. 마리아DB설정

    마리아 DB의 초기 셋팅 정보는 이와 같습니다.
    username: root
    password: password

    해당 opeon MaraiDB Shell을 눌러 쉘에 접속해보자 

    접속해서 password 라는 비번을 입력해 접속 
    후에 아래처럼 맛보기로 입력해보자 (마리아DB가 잘 작동하는지만 확인)
--// user 보기
use mysql;
select user from user;



4.테스트 

     localhost로 접속해보자 php기반에 nginx가 실행된걸 확인하였습니다. 
     각 프로그램을 설치 후 운영하는것보다 이런식으로 GUI를 제공하는 프로그램이 나을것입니다. 
     




마무리

Nginx를 따로 다운받아 PHP와 연동하여 쓰다가 익스프레스 강의에 어울리도록 
빠르고 쉽게 사용할 방법을 찾아보다 렇게 친절한 프로그램을 발견하였습니다.
각 업무 현장에서 Nginx로 셋팅하여 개발해야 하는 분들은 애용하면 좋을거 같습니다.



댓글을 달아 주세요



XAMPP 설치하기 APMSETUP을 대체


 APMSETUP이 최신버전을 공개하지 않고 있다. 그래서 많은 사람들이
대안으로 찾은게 아마 XAMPP가 아닐까 싶다. PHP7버전까지 지원하고 있으며 최신 DB인 MariaDB(MYSQL)까지 설치 한방으로 모든 셋팅을 마무리한다. 오늘은 XAMPP 설치를 가이드 하려고 한다.



▼ 아래처럼 최신버전을 설치한다. (학습자라면 당연히 PHP7 버전을 해야겠죠?)



▼모르고 NO에 박스를 칠했네요. YES 입니다. 당연히 설치 해야겠죠




▼ Next로 시작해봅시다.




▼ 많은 기능을 제공합니다. Perl 까지 지원하는게 인상적이네요. 우선 모든 기능을 설치합니다.(그래도 몇메가 안되요)





▼ 기본 디렉토리를 따라봅시다. 어차피 작업 폴더만 바뀌면 되니깐요




▼ 역시 Next로 진행하시고




▼ 본격적인 설치를 해봅시다.



▼ 설치가 완료되었습니다. 피니시 하면 컨트롤 패널이 열릴것입니다.


▼ 독일 제품이라 기본 언어에 독일어도 있네요




▼ 설치가 완료되었습니다.  직관적으로 어떻게 사용해야 할지 느낌이 오네요






마무리

 우선 오늘은 설치만 함께 완료했습니다. (최근 설치 강의도 올릴려고 포맷 했네요)
사용법도 매우 쉽습니다. 다음에는 사용법 강의로 돌아오겠습니다.!


댓글을 달아 주세요