Who are you?


이동범(Dongbum Lee)


Microsoft Regional Director


Microsoft MVP - VB.net


MHVB.net 시삽

Wanna talk with me?

Subscription

MSN 메신저를 통해 글이 갱신되면 알려드립니다.

Windows Live Alerts

Search

Navigation

Categories

.net (16) .NET Service (1) Ajax (1) asp.net (2) authentication (1) AxWebBrowser (1) Azure (2) basic (2) blog (3) browser (1) Canvas for OneNote (1) Cloud Computing (4) Code Canvas (1) das blog (1) dasBlog (2) Data Portability (1) DataGridView (1) Delegated Web Authentication (1) FabrikamShipping (1) Geneva Framework (1) Google (1) IDE (1) Identity (1) ie (1) iis (2) IIS7 (1) I'm a PC (1) Internet Information Server (1) javascript (1) jQuery (1) Live Framework (4) Live messenger (8) Live Service (6) Live Writer (0) mac (1) Microsoft (16) Microsoft Azure Service Platform (3) oAuth (2) Office (2) OneNote (1) OOXML (1) OpenID (1) PC (1) PHP (1) Silverlight (1) small basic (2) Team System (2) UX (1) VB (3) vb.net (4) Vista (1) visual studio (6) visual studio 2010 (2) Windows Azure (2) Windows Azure Service Platform (2) Windows Live (9) Windows Live ID (4) Windows Live Messenger (7) Windows Live Messenger Web Toolkit (7) windows7 (1) Winform (3) WinFX (1) WPF (2) 개발자 (1) 독점 (1) 라이브 메신저 (3) 라이브 아이디 (3) 마이크로소프트 애저 (2) 베이직 (1) 비주얼 스튜디오 (1) 성공사례 (1) 성산포 (1) 스몰베이직 (1) 아웃백 (1) 애저 (2) 웹서버 (1) 윈도우 라이브 (7) 윈도우 라이브 메신저 웹 툴킷 (6) 음악 (1) 일상 (9) 제네바 프레임워크 (1) 조용필 (1) 클라우드 (1) 클라우드 컴퓨팅 (1) 통합개발환경 (1)

On this page

PHP Azure 에 게시하기

Archive

Blogroll

Notice

알림
본 블로그는 저의 개인적인 의견을 담고 있습니다.
제가 몸담고 있는 조직의 공식적인 의견과는 다를 수 있습니다.

RSS 2.0 | Atom 1.0 | CDF Send mail to the author(s) E-mail

BlogStats

Total Posts: 67
This Year: 2
This Month: 0
This Week: 0
Comments: 24

Sign In

# Monday, September 07, 2009
Monday, September 07, 2009 4:12:44 PM (Korea Standard Time, UTC+09:00) ( Azure | Cloud Computing | Microsoft Azure Service Platform | PHP )

How to publish PHP files on Azure

IIS에서 Fast CGI를 통해서 PHP스크립트를 구동할 수 있게 되었습니다.
이와 함께 Azure Service Platform 에서도 역시 CGI 엔진을 통해 PHP를 구동할 수 있습니다.

PHP를 수동으로 설치할 때에는 조금 번거로운 설정들을 했어야 했지만 Web Platform Installer를 사용하면 IIS에 손쉽게 PHP를 설치할 수 있습니다. (이 곳에서 다운로드 받을 수 있습니다.)

초 간단 PHP Azure Publishing하는 방법에 대해 기술해 봅니다. (사실 Azure SDK에 나와있는 문서가 말을 너무 어렵게 써 놓은 지라 ^^)

Visual Studio 를 사용합니다.(무료 버전인 Web Developer 2008 Express 도 가능합니다)

1. Cloud Service 프로젝트 추가

 image

2. 추가된 Cloud Service 프로젝트에서 *.csdef 파일 수정하기

image

3. CGI Web Role 추가하기(Visual Basic / C# 상관없음)

image

4. WebCGI Role 프로젝트에 php 폴더 만들기

image

5. PHP CGI 파일들 모두 4번에서 생성한 폴더에 복사하기

Web Platform Installer를 통해 PHP를 설치하셨다면 설치된 PHP의 위치는 %Program Files%\PHP 일 것 입니다.
이곳의 모든 파일들과 하위 폴더들을 그림 4번에서 생성한 php 폴더 밑으로 모두 복사합니다.
image

6. 추가된 PHP 폴더 아래의 소스 파일들을 프로젝트에 include 하기

image 
파일들을 추가한 후 모든 파일들의 프로젝트 속성의 Build Action을 Content로, Copy to Output Directory를 Copy Always 혹은 Copy if newer 로 변경해 줍니다.

7. Web CGI Role의 Web.roleconfig 파일 수정하기

image

8. Web CGI Role의 Web.config 파일 수정하기

Fast CGI Handler를 Web.config 파일에 추가해 줍니다.
image

9. Cloud에 게시할 웹 스크립트 추가하기

본 블로그 에서는 간단히 phpInfo(); 를 호출하는 코드가 담긴 PHP 파일을 프로젝트에 추가합니다.
image
[WebCGIRole 프로젝트에 추가된 test.php 파일 내용]

10. 실행해 보기

image

이와 같이 실행이 된다면 성공적으로 Dev Fabric에 성공적으로 게시된 것 입니다.
image
[Dev Fabric에 게시된 예]

*잠깐!
“컴퓨터에 ntwdblib.dll이(가) 없어 프로그램을 시작할 수 없습니다. 프로그램을 다시 설치하여 이 문제를 해결하십시오” 라는 메세지가 보인다면?

PHP 설치 후 SQL Server 용 드라이버를 설치하셔서 그렇습니다.
php.ini 파일에서 extension=php_mssql.dll 항목을 remark 해 주시면 해결 됩니다.

그래도 안 된다면? php 설치 폴더의 ini 파일을 계속 참조하고 있는 듯 싶군요.
-> %program files%\php\php.ini 파일을 잠시 rename 해 주시고 다시 빌드해 주세요.

Dev Fabric에서 테스트 시에서 발생하는 오류이니 걱정하지 않으셔도 됩니다.

11. Cloud 에 게시

image 
[게시 중….]

image
[Production 환경으로 publish]

image
[Cloud 환경에서의 실행 예]