interoperabilitysoftware php

66
กกกกกกกกกกกก Interoperability Software กกกกกกกกกกก PHP กกก IIS7 กก Windows Web Server กกกก กกกกกก [email protected]

Upload: edwins-flores-mamani

Post on 28-Oct-2014

120 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: InteroperabilitySoftware Php

กรณี�ศึ�กษาการ Interoperability Software ที่��พั ฒนาโดย PHP ก บ IIS7 บน Windows Web Server

เสร� ชิ�โนดม[email protected]

Page 2: InteroperabilitySoftware Php

PHP on WindowsPHP on WindowsIISIIS 77.0 .0 Core Core Architecture Architecture FastCGIFastCGI on IIS 7.0 on IIS 7.0Best practices and patternsBest practices and patternsDemo Web Application (e-Office)Demo Web Application (e-Office)

Agenda

Page 3: InteroperabilitySoftware Php

PHP on Windows

What’s the difference between PHP on Windows and LinuxWhy I run PHP on Windows !

Page 4: InteroperabilitySoftware Php
Page 5: InteroperabilitySoftware Php
Page 6: InteroperabilitySoftware Php

Why you might Run PHP on Windows

The PHP Ecosystem Applications, Applications, Applications……Open source designsLoose and WildThe PHP community contributes to a variety of defacto standard facilities to connect everythingZend and the PHP community are invested in Windows Specific PHP technology.

Page 7: InteroperabilitySoftware Php

PHP-NukePHP-Nuke

PHPBB2PHPBB2

MD-ProMD-Pro

b2Evolutionb2Evolution

OSCNukeOSCNuke

MoodleMoodle

VBulletinVBulletin

PostNukePostNuke

MyPHPNukeMyPHPNuke

bBlogbBlog

Zen CartZen Cart

SegueSegue

VBPortalVBPortal DrupalDrupal

CoppermineCoppermine

phpGroupWarephpGroupWare

PHPWebSitePHPWebSite

eGroupWareeGroupWare

SerendipitySerendipity

XoopsXoops

Site@SchoolSite@School

TextPatternTextPattern

Typo3Typo3

QwikiWikkiQwikiWikki

RunCMSRunCMS MamboMambo

cPanelcPanel

TikiWikiTikiWiki

WordPressWordPress

SugarCRMSugarCRM

MyPHPAdminMyPHPAdmin

e107e107

XarayaXaraya

OSCommerceOSCommerce

ATutorATutor

WebCalendarWebCalendar

Some Favorite PHP Applications

Page 8: InteroperabilitySoftware Php

Potential Advantages to running PHP on Windows.

Windows EcosystemOver 600,000 partners in the Microsoft Ecosystem. Microsoft makes MUCH more than WindowsMicrosoft is making huge investments interoperability standards and technologies. (WS-I, etc.) Microsoft provides

…. a complete turn-key infrastructure…. Individual best-of-breed applications for you to choose from

FUTURE TECHNOLOGIES

Page 9: InteroperabilitySoftware Php

MS AccessMS Access

MS ExcelMS Excel

MS FrontPageMS FrontPage

MS InfoPathMS InfoPath

Live MeetingLive Meeting

MS OneNoteMS OneNote

PowerPointPowerPoint

MS OutlookMS Outlook

MS ProjectMS Project

Small Business Accounting

Small Business Accounting

MS VisioMS Visio

MS WordMS Word

SharePointSharePoint Business Manager

Business Manager

MS CRMMS CRM

Project ServerProject Server

MS CMSMS CMS

CommerceServer

CommerceServer

ExchangeServer

ExchangeServer

MS LCSMS LCS

MapPointMapPoint

MessengerMessenger

Virtual EarthVirtual Earth

MOMMOM

BizTalkBizTalk SQL ServerSQL Server

SQL RSSQL RS

SQL ASSQL AS

SQL NSSQL NS

App CenterApp Center

IdentityIntegration

Server

IdentityIntegration

Server

ISA ServerISA Server

Data AnalyzerData Analyzer

MS MobileMS Mobile

Tablet PCTablet PC

MS Starter Kits

MS Starter Kits

Software Options from Microsoft

Page 10: InteroperabilitySoftware Php

Great PlainsGreat Plains

AxaptaAxapta

Small Business Manager

Small Business Manager

MSEnterprise Reporting

MSEnterprise Reporting

NavisionNavision

Retail Management

Retail Management

MS SolomonMS SolomonWindows Mobile

Windows Mobile

Windows Embedded

Windows Embedded

Active Directory

Active Directory

ADAMADAM

Authorization Manager

Authorization Manager

Operations Manager

Operations Manager

IIS 6/7IIS 6/7

Windows Server 2003

Windows Server 2003

XML-WSWSE

XML-WSWSE

Media CenterMedia Center

WindowsMedia Server

WindowsMedia Server

Application Center

Application Center

SystemManagement

Server

SystemManagement

Server

Windows Unix

Services

Windows Unix

Services

Host Integration

Server

Host Integration

Server

Windows Workflow

Windows Workflow

VistaLonghorn

VistaLonghorn

Presentation Foundation

(Avalon)

Presentation Foundation

(Avalon)MSN

Search

MSNSearch

WindowsIndexServer

WindowsIndexServer

VBA / VSAVBA / VSA

Info BridgeInfo Bridge

WSHWSH

DirectXDirectX

ActiveXActiveX

HostedControls

HostedControls

MSMQMSMQ Info CardInfo Card

WinFXWinFX

More Software Options from Microsoft

Page 11: InteroperabilitySoftware Php

PHP on Windows

PHP Developers work on Windows machines anyway.PHP is PHP is PHP. Zend offers the Winabler.Other 3rd parties offer…….

Phalanger = Managed Code PHPhttp://www.php-compiler.net/

Zend’s Windows Work Continues

Page 12: InteroperabilitySoftware Php

PHP On Windows

What’s the problem anyway.CGI on Windows ?The PHP ISAPI ExtensionWill it get fixed ?

Page 13: InteroperabilitySoftware Php

PHP on Windows

FASTCGI !PHP on IIS 6

PHP Versions…. Why choose ?

PHP on IIS 7 New application context ?

Page 14: InteroperabilitySoftware Php
Page 15: InteroperabilitySoftware Php

Svchost.exeInetinfo.exe

WWWService (w3svc)

IIS AdminService

metabase

FTP Service

SMTP Service

NNTP Service

Lsass.exe

WindowsAuthentication

HTTPAPI

Web garden (w3wp.exe)

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

SSL

Winsock

TCPIP.SYS

HTTP.SYS

UserKernel

Application Pool (w3wp.exe)

IIS6 Architecture Refresher

Page 16: InteroperabilitySoftware Php

Svchost.exeInetinfo.exe

WWWService (w3svc)

IIS AdminService

metabase

FTP Service

SMTP Service

NNTP Service

Lsass.exe

WindowsAuthentication

HTTPAPI

Web garden (w3wp.exe)

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

Worker Process

ISAPI Extensions

ISAPI Filters

SSL

Winsock

TCPIP.SYS

HTTP.SYS

UserKernel

Application Pool (w3wp.exe)

WAS

Managed Mods Managed ModsManaged Mods

ConfigurationConfiguration(applicationhost.con(applicationhost.con

fig)fig)

IIS7 Architecture Overview

Page 17: InteroperabilitySoftware Php

w3svc

http.sys

iiscoreiiscore

cgicgi staticstaticfilefile

ISAPIISAPIextsexts

handlershandlers

Pre-proc headersPre-proc headers

auth’c reqauth’c req

url mapurl map

loglog

End net sessionEnd net session

ISAPI Filter ISAPI Filter NotificationsNotifications

aspnet_isapi.dlaspnet_isapi.dlll

IHttpModule EventsIHttpModule Events

url mapurl map

begin reqbegin req

auth’c reqauth’c req

auth’z reqauth’z req

resolve cacheresolve cache

handler maphandler map

handler exechandler exec

update req cacheupdate req cache

rel req staterel req state

end reqend req

IHttpHandlersIHttpHandlers

Trace.axdTrace.axd PageHandlerPageHandler

• Server is monolithic:cant extend core featurescant remove core featurescant add features

•Feature duplication between IIS and ASP.NET.

•Features limited due to position in pipeline.

•ASP.NET functionality not applied to IIS content types.

w3wp.exe

custom errorscustom errors

authenticationauthentication

logginglogging

compressioncompression

determine handlerdetermine handler

Svchost.exe

IIS6 Request flow refresher

Page 18: InteroperabilitySoftware Php

WASw3svc

http.sys

iiscoreiiscore

cgicgi staticstaticfilefile

IsapiIsapiextsexts

DetermineDetermine handlerhandler

handlershandlers

Pre-proc headersPre-proc headers

auth’c reqauth’c req

url mapurl map loglog

End net sessionEnd net session

Isapi filter Isapi filter notificationsnotifications

aspnet_isapiaspnet_isapi

IHttpModule EventsIHttpModule Events

url mapurl map

begin reqbegin req

auth’c reqauth’c req

auth’z reqauth’z req

resolve cacheresolve cache

handler maphandler map

handler exechandler exec

update req update req cachecache

rel reqrel req statestate

end reqend req

IHttpHandlersIHttpHandlers

Trace.axdTrace.axd *.aspx*.aspx

Integrated pipelineIntegrated pipeline

beginbegin

authenticateauthenticate

authorizeauthorize

resolve cacheresolve cache

map handlermap handler

acquire stateacquire state

pre-execute handlerpre-execute handler

execute handlerexecute handler

release staterelease state

update cacheupdate cache

loglog

endend

forms authforms authwindows authwindows auth

digest authdigest auth

basicbasic authauth

IHttpModuleIHttpModule

Native or Managed Handlers

*.aspx*.aspx trace.axdtrace.axd

Managed Managed IHttpHandlerIHttpHandler

isapi extisapi extstatic filestatic file

Native Native ModuleModule

other other native modulesnative modules

otherothermanaged modulesmanaged modules

role mgrrole mgr

url auth’zurl auth’z

•Unified request processing pipeline.

•All services provided by self-contained modules

•Modules can be managed or native

•All services can apply to all requests

Native Native HandlerHandler

Svchost.exe

W3wp.exe

Tcpip.sys

UserKernel

IIS7 Architecture

Page 19: InteroperabilitySoftware Php

A full description of all IIS7 modules is covered in the following tables, they have been broken down in to groups based on functionality:

Caching ModulesCompression ModulesContent ModulesAuthentication Modules Security ModulesLogging & Error ModulesDiagnostics ModulesDevelopment ModulesIIS 7.0 Managed Modules

Page 20: InteroperabilitySoftware Php

Development technologies offered as to execute code from that platform

Implements Managed Interfaces, etc.

Module Name Description Resource Location

IsapiModule Implements ISAPI Extension Server Functionality

Inetsrv\isapi.dll

IsapiFilterModule Implements ISAPI filter functionality Inetsrv\filter.dll

CgiModule Executes CGI processes to build response output.

Inetsrv\cgi.dll

FastCgiModule Enables Fast CGI application frameworks like PHP be hosted on the IIS web server.

inetsrv\iisfcgi.dll

ConfigurationValidationModule

Implements configuration validation, e.g. if an application runs in integrated mode but has handlers or modules declared in the system.web section.

inetsrv\validcfg.dll

ManagedEngine Connects the IIS core pipeline with the ASP.NET runtime and bridge between native and managed code in IIS 7.0

..\Framework\v2.0.50727\webengine.dll

Page 21: InteroperabilitySoftware Php

ManagedManagedNativeNative

- or -

ManagedManaged

New Modular ArchitectureThe integrated pipeline

Page 22: InteroperabilitySoftware Php

Unified request processing pipeline for both native Unified request processing pipeline for both native and managed (ASP.NET) modulesand managed (ASP.NET) modules

All modules can provide services for all content All modules can provide services for all content types.types.

You can use ASP.NET forms authentication and url You can use ASP.NET forms authentication and url authorization to protect all content on the serverauthorization to protect all content on the serverYou can develop an ASP.NET module to append custom You can develop an ASP.NET module to append custom headers to static file requests.headers to static file requests.

Duplicate features unifiedDuplicate features unifiedYou can configure authorization, caching, and custom errors You can configure authorization, caching, and custom errors in one place.in one place.

Managed modules have full ordering flexibilityManaged modules have full ordering flexibilityManaged modules can be intermixed with native modules Managed modules can be intermixed with native modules as desiredas desired

Integrated pipeline

Page 23: InteroperabilitySoftware Php

IIS7 Modularity

Page 24: InteroperabilitySoftware Php
Page 25: InteroperabilitySoftware Php

Extension to CGI allowing reuse of a process.

Advantages Easy to Configure Faster than CGI More stable than PHP on ISAPI Can run non- thread-safe versions of PHP

Invokes a process for each request.

Advantages Easy to Configure Stable Execution

Disadvantages Slow due to I/O Overhead of Process Creation

Loaded as extension in process.

Advantages Better Performance

Disadvantages Many PHP Applications are not Thread-Safe

A History of PHP on IIS

Page 26: InteroperabilitySoftware Php

Developed by Open Market in 96 as open solution (Developed by Open Market in 96 as open solution (www.fastcgi.com) ) Design goals:Design goals:

Speed!Speed!Eliminate CGI’s weaknessesEliminate CGI’s weaknesses

ScalableScalablePersistentPersistent

Build on CGI’s strengthsBuild on CGI’s strengthsSimple, Open Standard with an easy migration pathSimple, Open Standard with an easy migration pathServer, Language, & OS independentServer, Language, & OS independentServer IsolationServer Isolation

What is FastCGI :A language and server independent, scalable, open extension to CGI that provides high performance and persistenceA protocol for data interchange between a web server and a FastCGI applicationThe set of libraries that implement the protocol

FastCGI Design Goals

Page 27: InteroperabilitySoftware Php

FastCGI process pool for FastCGI process pool for PHP4PHP4

php.exephp.exe

Request queue

FastCGI process pool for FastCGI process pool for PHP5PHP5

php-cgi.exephp-cgi.exe

FastCGI protocol over named pipes or TCP

FastCGI Handle Architecture

Page 28: InteroperabilitySoftware Php

1 : Receiving requests in IIS WP2 : Queieing requests 3 : Dispacthing and receiving response from FastCGI process4 : Creating one or more FastCGI App Process

FastCGI Handler

Page 29: InteroperabilitySoftware Php

Mapping the FastCGI handler to process requestsMapping the FastCGI handler to process requestsProcessing all Processing all URLURLs in a directorys in a directoryResponse bufferingResponse buffering64 bit support64 bit supportProcess ManagementProcess Management

Create configured FastCGI application processes when needed.Create configured FastCGI application processes when needed.Maintain a connection with each FastCGI application process Maintain a connection with each FastCGI application process during its lifetimeduring its lifetimeMonitor health of FastCGI application processesMonitor health of FastCGI application processesPeriodically recycle FastCGI processesPeriodically recycle FastCGI processesDetect when FastCGI processes exited / crashed, and recover Detect when FastCGI processes exited / crashed, and recover gracefullygracefullyTerminate FastCGI processesTerminate FastCGI processes

Queuing and request dispatchingQueuing and request dispatchingSecurity modelSecurity model

FastCGI Handler

Page 30: InteroperabilitySoftware Php

InitializationRequest processingFastCGI RolesError handling

Errors during FastCGI handler initializationErrors during application initializationRequest processing errorsRapid Failure Protection

FastCGI Protocol Support

Page 31: InteroperabilitySoftware Php

ResponderResponderThe fundamental FastCGI roleThe fundamental FastCGI roleFunctionally identical to CGIFunctionally identical to CGISupported by all FastCGI capable serversSupported by all FastCGI capable servers

AuthorizerAuthorizerProvides a means of controlling access to a site, a page, or something in Provides a means of controlling access to a site, a page, or something in betweenbetweenTypically, this involves some form of authentication, but this isn’t requiredTypically, this involves some form of authentication, but this isn’t requiredIt has server dependent significanceIt has server dependent significance

Filter Filter Allows “processing” of a file before it is sentAllows “processing” of a file before it is sentIntended to support:Intended to support:

Format conversionsFormat conversionsDynamic documents (embedded code)Dynamic documents (embedded code)Applying templates: e.g. headers, footers, backgroundsApplying templates: e.g. headers, footers, backgrounds

Conceptually this could support dynamic content chaining, but without Conceptually this could support dynamic content chaining, but without server support has limited utilityserver support has limited utility

FastCGI Roles

Page 32: InteroperabilitySoftware Php

Same FastCGI functionality as in IIS7, available Same FastCGI functionality as in IIS7, available as a separate download for IIS6 from the Microsoft as a separate download for IIS6 from the Microsoft download centerdownload center

http://www.iis.net/downloads/default.aspx?http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1521tabid=34&g=6&i=1521Fully supported by Microsoft Fully supported by Microsoft

Walk-throughs demonstrating how to run popular Walk-throughs demonstrating how to run popular PHP applications on Windows Server PHP applications on Windows Server

See See http://www.iis.net/php

Close collaboration with Zend TechnologiesClose collaboration with Zend TechnologiesImprovements in PHP engine for IIS with contributions Improvements in PHP engine for IIS with contributions and collaboration back to PHP Communityand collaboration back to PHP CommunityZend Core Available for Commercially Supported PHPZend Core Available for Commercially Supported PHP

FastCGI for IIS6

Page 33: InteroperabilitySoftware Php

FastCGI in IIS6 FastCGI in IIS7

Available today on Download Center

Available with Windows Server 2008 and Vista SP1

Delivered as a separate download for Windows Server 2003.

Delivered as part of IIS7. Users must install the CGI feature in IIS to enable FastCGI.

FastCGI ISAPI extension Native IIS7 module

Resources, forums, and reference material available on IIS.NET

Product help documentation, as well as resources on IIS.NET.

Configured via fcgiext.ini Configured via the new XML-based configuration system in IIS7.

Fully supported by Microsoft

Supports PHP and other FastCGI frameworks

FastCGI in IIS6 and IIS7

Page 34: InteroperabilitySoftware Php

Advantages of PHP on IIS7

PHP users who deployed to Apache in the past will be more comfortable with IIS7 than IIS6 due to the new configuration system and modular architecture.

Page 35: InteroperabilitySoftware Php

Configuration stored in XML files validated Configuration stored in XML files validated by a schema.by a schema.

Schema describes configuration settings for IIS, ASP.NET and 3rd party applications.

Central configuration file for the server contains system wide configuration settings.

Distributed configuration files contain overrides and local site and application settings.

New Configuration SystemSay goodbye to the metabase

Page 36: InteroperabilitySoftware Php

New IIS Manager

Page 37: InteroperabilitySoftware Php

Rich functionality in IIS7Rich functionality in IIS7Included modules such as MembershipIncluded modules such as MembershipAdd-on modules from http://IIS.netAdd-on modules from http://IIS.net

SQL Server 2005 Driver for PHPSQL Server 2005 Driver for PHPOther Windows ApplicationsOther Windows Applications

Active DirectoryActive DirectoryExchangeExchangeSharePointSharePointOfficeOffice

Leveraging the Platform

Page 38: InteroperabilitySoftware Php

Goal: Provide robust, scalable, and reliable SQL Goal: Provide robust, scalable, and reliable SQL Server connectivity for PHP developers targeting Server connectivity for PHP developers targeting the Windows platformthe Windows platformEnterprise “abilities” to PHP/SQL Server Devs.Enterprise “abilities” to PHP/SQL Server Devs.

ReliabilityReliabilityScalabilityScalabilityMaintainabilityMaintainability

Base the PHP driver's API on existing data Base the PHP driver's API on existing data patternspatterns

For more info, see the team blog For more info, see the team blog http://blogs.msdn.com/sqlphp

SQL Server 2005 Driver for PHP

Page 39: InteroperabilitySoftware Php

Web application

demo

e-Office

Page 40: InteroperabilitySoftware Php

โดยโดย ส�าน กคอมพั�วเตอร� มหาว�ที่ยาลั ยบ!รพัา ส�าน กคอมพั�วเตอร� มหาว�ที่ยาลั ยบ!รพัา

Page 41: InteroperabilitySoftware Php

ที่��มาของโครงการที่��มาของโครงการว ตถุ%ประสงค�โครงการว ตถุ%ประสงค�โครงการระบบสารบรรณีอ�เลั(กที่รอน�กส�ระบบสารบรรณีอ�เลั(กที่รอน�กส�ระบบลัาอ�เลั(กที่รอน�กส�ระบบลัาอ�เลั(กที่รอน�กส�ระบบประชิ%มอ�เลั(กที่รอน�กส�ระบบประชิ%มอ�เลั(กที่รอน�กส�ระบบภาระงานอ�เลั(กที่รอน�กส�ระบบภาระงานอ�เลั(กที่รอน�กส�ระบบแบบสอบถุามออนไลัน�ระบบแบบสอบถุามออนไลัน�การต�ดต ,ง การต�ดต ,ง PHP PHP ก บ ก บ IIS7IIS7ว�ธี�การปร บแต.ง ว�ธี�การปร บแต.ง MySQL MySQL ใน ใน windows windows การต�ดต ,งโปรแกรมการต�ดต ,งโปรแกรมกราฟแสดงความสามารถุในการที่�างานของ กราฟแสดงความสามารถุในการที่�างานของ IIS7IIS7

Page 42: InteroperabilitySoftware Php

ส�าน กงานบร�หารเที่คโนโลัย�สารสนเที่ศึเพั1�อส�าน กงานบร�หารเที่คโนโลัย�สารสนเที่ศึเพั1�อ พั ฒนาการศึ�กษา ได2สน บสน%นโครงการว�จั ยการ พั ฒนาการศึ�กษา ได2สน บสน%นโครงการว�จั ยการ

พั ฒนาต2นแบบโปรแกรมส�าน กงานไร2กระดาษ พั ฒนาต2นแบบโปรแกรมส�าน กงานไร2กระดาษ ((e-e-Office) Office) โดยใชิ2ซอฟต�แวร� โดยใชิ2ซอฟต�แวร� Open SourceOpen Source

Page 43: InteroperabilitySoftware Php

เพั1�อเป5นการสน บสน%นแลัะส.งเสร�มการพั ฒนาเพั1�อเป5นการสน บสน%นแลัะส.งเสร�มการพั ฒนาโปรแกรมโปรแกรมโดยใชิ2ซอฟต�แวร� โดยใชิ2ซอฟต�แวร� Open SourceOpen Sourceเพั1�อเป5นการลัดค.าใชิ2จั.ายแลัะงบประมาณีแผ่.นด�นเพั1�อเป5นการลัดค.าใชิ2จั.ายแลัะงบประมาณีแผ่.นด�นส�าหร บการพั ฒนาซอฟต�แวร�ส�าน กงานส�าหร บการพั ฒนาซอฟต�แวร�ส�าน กงานเพั1�อเป5นการปร บกระบวนการปฏิ�บ ต�งานภายในเพั1�อเป5นการปร บกระบวนการปฏิ�บ ต�งานภายในส�าน กงาน โดยด�าเน�นการผ่.านระบบคอมพั�วเตอร�แลัะส�าน กงาน โดยด�าเน�นการผ่.านระบบคอมพั�วเตอร�แลัะเคร1อข.ายอ�นเที่อร�เน(ต ส.งผ่ลัให2ม�การลัดข ,นตอนการเคร1อข.ายอ�นเที่อร�เน(ต ส.งผ่ลัให2ม�การลัดข ,นตอนการที่�างาน แลัะลัดงบประมาณีที่��ส�,นเปลั1องไปก บกระดาษที่�างาน แลัะลัดงบประมาณีที่��ส�,นเปลั1องไปก บกระดาษเพั1�อเพั��มชิ.องที่างในการส1�อสารระหว.างบ%คลัากรภายในเพั1�อเพั��มชิ.องที่างในการส1�อสารระหว.างบ%คลัากรภายในส�าน กงาน แลัะใชิ2เป5นส1�อกลัางในการเผ่ยแพัร.ข2อม!ลัส�าน กงาน แลัะใชิ2เป5นส1�อกลัางในการเผ่ยแพัร.ข2อม!ลัข.าวสารต.างๆ ที่��ม�ประโยชิน�ผ่.านที่างเว(บไซต�ข.าวสารต.างๆ ที่��ม�ประโยชิน�ผ่.านที่างเว(บไซต�

Page 44: InteroperabilitySoftware Php

การลังที่ะเบ�ยนหน งส1อการลังที่ะเบ�ยนหน งส1อการขออน%ม ต�หน งส1อการขออน%ม ต�หน งส1อการส.งการส.ง//เว�ยนหน งส1อเว�ยนหน งส1อการตรวจัสอบสถุานะหน งส1อการตรวจัสอบสถุานะหน งส1อตารางน ดหมายส.วนบ%คคลัตารางน ดหมายส.วนบ%คคลัตารางน ดหมายผ่!2อ1�นตารางน ดหมายผ่!2อ1�นปฏิ�ที่�นก�จักรรมส�าหร บหน.วยงานแลัะส.วนบ%คคลัปฏิ�ที่�นก�จักรรมส�าหร บหน.วยงานแลัะส.วนบ%คคลั

Page 45: InteroperabilitySoftware Php

การจั ดที่�าใบลัาประเภที่ต.างๆ ผ่.านระบบ การจั ดที่�าใบลัาประเภที่ต.างๆ ผ่.านระบบการอน%ม ต�ใบลัาผ่.านระบบการอน%ม ต�ใบลัาผ่.านระบบตรวจัสอบสถุานะใบลัาตรวจัสอบสถุานะใบลัาการค�านวณีว นลัาสะสมการค�านวณีว นลัาสะสมการก�าหนดว นที่��ห2ามลัาการก�าหนดว นที่��ห2ามลัาการก�าหนดว นหย%ดขององค�กรการก�าหนดว นหย%ดขององค�กรรายงานสร%ปการลัารายงานสร%ปการลัา

Page 46: InteroperabilitySoftware Php

จั ดที่�าระเบ�ยบวาระแลัะเอกสารแนบส�าหร บการจั ดที่�าระเบ�ยบวาระแลัะเอกสารแนบส�าหร บการประชิ%มประชิ%มจั ดที่�าฐานข2อม!ลัผ่!2เข2าร.วมประชิ%มจั ดที่�าฐานข2อม!ลัผ่!2เข2าร.วมประชิ%มจั ดการด�าเน�นการประชิ%มจั ดการด�าเน�นการประชิ%มจั ดที่�ารายงานการประชิ%มจั ดที่�ารายงานการประชิ%มจั ดที่�าระบบสอบถุามก�าหนดการประชิ%มแลัะตรวจัจั ดที่�าระบบสอบถุามก�าหนดการประชิ%มแลัะตรวจัสอบข2อม!ลัย2อนหลั งสอบข2อม!ลัย2อนหลั งจั ดที่�ารายงานสร%ปการประชิ%มต.างๆจั ดที่�ารายงานสร%ปการประชิ%มต.างๆการจัองห2องประชิ%มการจัองห2องประชิ%ม

Page 47: InteroperabilitySoftware Php

การมอบหมายงานผ่.านระบบการมอบหมายงานผ่.านระบบการเก(บข2อม!ลัภาระงานของบ%คลัากรภายในหน.วยการเก(บข2อม!ลัภาระงานของบ%คลัากรภายในหน.วยงานงานการรายงานความก2าวหน2าของภาระงานของการรายงานความก2าวหน2าของภาระงานของบ%คลัากรภายในหน.วยงานบ%คลัากรภายในหน.วยงานประเม�นผ่ลัการปฏิ�บ ต�งานของบ%คลัากรประเม�นผ่ลัการปฏิ�บ ต�งานของบ%คลัากร

Page 48: InteroperabilitySoftware Php

การจั ดที่�าประเภที่ค�าถุามการจั ดที่�าประเภที่ค�าถุามการจั ดที่�าค�าถุามตามประเภที่ต.างๆการจั ดที่�าค�าถุามตามประเภที่ต.างๆการจั ดที่�าแบบสอบถุามการจั ดที่�าแบบสอบถุามการที่�าแบบสอบถุามออนไลัน�ผ่.านระบบการที่�าแบบสอบถุามออนไลัน�ผ่.านระบบการสร%ปผ่ลัการที่�าแบบสอบถุามการสร%ปผ่ลัการที่�าแบบสอบถุาม

Page 49: InteroperabilitySoftware Php

การต�ดต ,ง การต�ดต ,ง PHP PHP ก บ ก บ IIS7 IIS7 ผ่.าน ผ่.าน Module Fast Module Fast CGICGI

ที่�าได2โดยเลั1อก ที่�าได2โดยเลั1อก server manager server manager แลั2วที่�าการแลั2วที่�าการ เลั1อกที่�� เลั1อกที่�� Role Role

เลั1อก เลั1อก Web Server Web Server แลัะที่�าการเลั1อก แลัะที่�าการเลั1อก Add Role Add Role ServiceService

Page 50: InteroperabilitySoftware Php

เลั1อก เลั1อก CGI CGI แลั2วเลั1อกป%:ม แลั2วเลั1อกป%:ม NextNext

Page 51: InteroperabilitySoftware Php

ที่�าการ ที่�าการ Install Install

Page 52: InteroperabilitySoftware Php

โปรแกรมที่�าการ โปรแกรมที่�าการ Install CGI Install CGI

Page 53: InteroperabilitySoftware Php

เม1�อที่�าการต�ดต ,งเร�ยบร2อย สามารถุที่�าการป;ด เม1�อที่�าการต�ดต ,งเร�ยบร2อย สามารถุที่�าการป;ดหน2าต.างการต�ดต ,งหน2าต.างการต�ดต ,ง

Page 54: InteroperabilitySoftware Php

เม1�อที่�าการต�ดต ,ง เม1�อที่�าการต�ดต ,ง Module Fast CGI Module Fast CGI เร�ยบร2อย เร�ยบร2อย สามารถุที่�าการต�ดต ,ง สามารถุที่�าการต�ดต ,ง Module Module ได2โดยเลั1อก ได2โดยเลั1อก IIS IIS

ManagerManager ที่�าการเลั1อก ที่�าการเลั1อก Handler MappingsHandler Mappings

Page 55: InteroperabilitySoftware Php

ที่�าการ ที่�าการ Add Module MappingAdd Module Mapping

Page 56: InteroperabilitySoftware Php

ที่�าการกรอกข2อม!ลั ที่�าการกรอกข2อม!ลั Module Mapping Module Mapping ที่��ที่��ต2องการต2องการRequest Path : *.phpRequest Path : *.phpModule : FastCGIModuleModule : FastCGIModuleExecutable : php-cgi.exeExecutable : php-cgi.exeName : phpName : php

Page 57: InteroperabilitySoftware Php

โปรแกรมที่�าการสร2าง โปรแกรมที่�าการสร2าง FastCGIFastCGI

Page 58: InteroperabilitySoftware Php

เม1�อที่�าการต�ดต ,งเร�ยบร2อย โปรแกรมจัะแสดง เม1�อที่�าการต�ดต ,งเร�ยบร2อย โปรแกรมจัะแสดง PHP PHP ที่��สามารถุใชิ2งานได2ที่��สามารถุใชิ2งานได2

Page 59: InteroperabilitySoftware Php

เข2าที่�าการปร บแต.งไฟลั� เข2าที่�าการปร บแต.งไฟลั� my.ini my.ini ที่��จั ดเก(บของฐานที่��จั ดเก(บของฐาน ข2อม!ลั ข2อม!ลั MySQLMySQL

เพั��ม เพั��ม code code lower_case_table_names=2lower_case_table_names=2

Restart service MySQL Restart service MySQL เพั1�อชิ1�อตารางเป5นต วเพั1�อชิ1�อตารางเป5นต ว พั�มพั�เลั(ก หร1อพั�มพั�ใหญ่. พั�มพั�เลั(ก หร1อพั�มพั�ใหญ่.

lower_case_table_names=2

Page 60: InteroperabilitySoftware Php

เร��มแรกที่�าการต�ดต ,ง เร��มแรกที่�าการต�ดต ,ง Web Server Web Server ต�ดต ,งภาษา ต�ดต ,งภาษา PHPPHP

ต�ดต ,งฐานข2อม!ลั ต�ดต ,งฐานข2อม!ลั MySQLMySQL ที่�าการสร2างฐานข2อม!ลัส�าหร บ ที่�าการสร2างฐานข2อม!ลัส�าหร บ e-Office e-Office โดยโดย

สามารถุที่�าได2ค1อ เร�ยกโปรแกรม สามารถุที่�าได2ค1อ เร�ยกโปรแกรม Internet Internet Explorer Explorer เลั1อกเร�ยก เลั1อกเร�ยก phpMyAdmin phpMyAdmin

กรอกชิ1�อฐานข2อม!ลัeoffice

Page 61: InteroperabilitySoftware Php

ค ดลัอกโปรแกรม ค ดลัอกโปรแกรม eoffice eoffice ลังใน ลังใน Home Home Directory Directory ของเว(บไซต�เรา สมม%ต� ของเว(บไซต�เรา สมม%ต� Home Home Directory Directory อย!.ที่�� อย!.ที่�� E:\E:\

ค ดลัอกโปรแกรมวางที่��Home Directory

Page 62: InteroperabilitySoftware Php

ที่�าการเข2าส!.โปรแกรม ที่�าการเข2าส!.โปรแกรม Internet Explorer Internet Explorer แลัะแลัะ เลั1อกที่�� เลั1อกที่�� eofficeeoffice

เม1�อเข2าส!.หน2าเว(บแลั2วเลั1อก เม1�อเข2าส!.หน2าเว(บแลั2วเลั1อก eoffice eoffice ระบบจัะแสดงระบบจัะแสดงหน2าจัอการต�ดต ,งระบบหน2าจัอการต�ดต ,งระบบ

กรอกรายลัะเอ�ยดของเคร1�องแม.ข.าย

Page 63: InteroperabilitySoftware Php

เม1�อผ่!2ใชิ2ใส.ข2อม!ลัเสร(จัเร�ยบร2อย แลัะคลั�กที่��ป%:มข ,น เม1�อผ่!2ใชิ2ใส.ข2อม!ลัเสร(จัเร�ยบร2อย แลัะคลั�กที่��ป%:มข ,น ต.อไป ระบบแสดงหน2าจัอการสร2างไฟลั� ต.อไป ระบบแสดงหน2าจัอการสร2างไฟลั�

config.php config.php แลัะ ไฟลั� แลัะ ไฟลั� db.phpdb.php ระบบม�การสร2าง ระบบม�การสร2าง DatabaseDatabase ของระบบต.างๆ ถุ2า ของระบบต.างๆ ถุ2า

การต�ดต ,งเร�ยบร2อยระบบจัะแสดงว.าเร�ยบร2อยแลั2ว การต�ดต ,งเร�ยบร2อยระบบจัะแสดงว.าเร�ยบร2อยแลั2ว ด งร!ป เม1�อเสร(จัให2เลั1อกป%:มส�,นส%ดการต�ดต ,ง ระบบจัะ ด งร!ป เม1�อเสร(จัให2เลั1อกป%:มส�,นส%ดการต�ดต ,ง ระบบจัะ

แสดงหน2าแรกของระบบ แสดงหน2าแรกของระบบ e-Officee-Office

Page 64: InteroperabilitySoftware Php

ภาพัแสดงความสามารถุการที่�างานของ ภาพัแสดงความสามารถุการที่�างานของ IIS7 IIS7 ผ่.าน ผ่.านFastCGIFastCGI

Fast CGI + Caching

Fast CGI

Page 65: InteroperabilitySoftware Php

Reference

FastCGI on IIS 7.0 by Risman AdnanPHP on Microsoft 7.0 by Risman Adnanhttp://geeks.netindonesia.net/blogs/risman PHP and the Microsoft PlatformPHP and the Microsoft Platform by by Joe Stagnerhttp://www.JoeOn.net

Page 66: InteroperabilitySoftware Php

การอ2างอ�ง การอ2างอ�ง pathpath ของแฟ=มข2อม!ลัต.าง ๆ ของแฟ=มข2อม!ลัต.าง ๆ การต ,งชิ1�อต วแปรต วใหญ่. ต วเลั(ก การต ,งชิ1�อต วแปรต วใหญ่. ต วเลั(ก

การ การ Encode file Encode file ควรเลั1อกเป5นแบบ ควรเลั1อกเป5นแบบ UnicodeUnicode การใชิ2งานฐานข2อม!ลั การใชิ2งานฐานข2อม!ลั MySQL MySQL ควรเลั1อก ควรเลั1อก charset charset

เป5น เป5น utf-8utf-8