Date post: | 28-Oct-2014 |
Category: |
Documents |
Upload: | edwins-flores-mamani |
View: | 117 times |
Download: | 0 times |
กรณี�ศึ�กษาการ Interoperability Software ที่��พั ฒนาโดย PHP ก บ IIS7 บน Windows Web Server
เสร� ชิ�โนดม[email protected]
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
PHP on Windows
What’s the difference between PHP on Windows and LinuxWhy I run PHP on Windows !
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.
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
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
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
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
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
PHP On Windows
What’s the problem anyway.CGI on Windows ?The PHP ISAPI ExtensionWill it get fixed ?
PHP on Windows
FASTCGI !PHP on IIS 6
PHP Versions…. Why choose ?
PHP on IIS 7 New application context ?
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
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
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
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
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
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
ManagedManagedNativeNative
- or -
ManagedManaged
New Modular ArchitectureThe integrated pipeline
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
IIS7 Modularity
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
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
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
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
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
InitializationRequest processingFastCGI RolesError handling
Errors during FastCGI handler initializationErrors during application initializationRequest processing errorsRapid Failure Protection
FastCGI Protocol Support
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
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
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
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.
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
New IIS Manager
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
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
Web application
demo
e-Office
โดยโดย ส�าน กคอมพั�วเตอร� มหาว�ที่ยาลั ยบ!รพัา ส�าน กคอมพั�วเตอร� มหาว�ที่ยาลั ยบ!รพัา
ที่��มาของโครงการที่��มาของโครงการว ตถุ%ประสงค�โครงการว ตถุ%ประสงค�โครงการระบบสารบรรณีอ�เลั(กที่รอน�กส�ระบบสารบรรณีอ�เลั(กที่รอน�กส�ระบบลัาอ�เลั(กที่รอน�กส�ระบบลัาอ�เลั(กที่รอน�กส�ระบบประชิ%มอ�เลั(กที่รอน�กส�ระบบประชิ%มอ�เลั(กที่รอน�กส�ระบบภาระงานอ�เลั(กที่รอน�กส�ระบบภาระงานอ�เลั(กที่รอน�กส�ระบบแบบสอบถุามออนไลัน�ระบบแบบสอบถุามออนไลัน�การต�ดต ,ง การต�ดต ,ง PHP PHP ก บ ก บ IIS7IIS7ว�ธี�การปร บแต.ง ว�ธี�การปร บแต.ง MySQL MySQL ใน ใน windows windows การต�ดต ,งโปรแกรมการต�ดต ,งโปรแกรมกราฟแสดงความสามารถุในการที่�างานของ กราฟแสดงความสามารถุในการที่�างานของ IIS7IIS7
ส�าน กงานบร�หารเที่คโนโลัย�สารสนเที่ศึเพั1�อส�าน กงานบร�หารเที่คโนโลัย�สารสนเที่ศึเพั1�อ พั ฒนาการศึ�กษา ได2สน บสน%นโครงการว�จั ยการ พั ฒนาการศึ�กษา ได2สน บสน%นโครงการว�จั ยการ
พั ฒนาต2นแบบโปรแกรมส�าน กงานไร2กระดาษ พั ฒนาต2นแบบโปรแกรมส�าน กงานไร2กระดาษ ((e-e-Office) Office) โดยใชิ2ซอฟต�แวร� โดยใชิ2ซอฟต�แวร� Open SourceOpen Source
เพั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อม!ลัข.าวสารต.างๆ ที่��ม�ประโยชิน�ผ่.านที่างเว(บไซต�ข.าวสารต.างๆ ที่��ม�ประโยชิน�ผ่.านที่างเว(บไซต�
การลังที่ะเบ�ยนหน งส1อการลังที่ะเบ�ยนหน งส1อการขออน%ม ต�หน งส1อการขออน%ม ต�หน งส1อการส.งการส.ง//เว�ยนหน งส1อเว�ยนหน งส1อการตรวจัสอบสถุานะหน งส1อการตรวจัสอบสถุานะหน งส1อตารางน ดหมายส.วนบ%คคลัตารางน ดหมายส.วนบ%คคลัตารางน ดหมายผ่!2อ1�นตารางน ดหมายผ่!2อ1�นปฏิ�ที่�นก�จักรรมส�าหร บหน.วยงานแลัะส.วนบ%คคลัปฏิ�ที่�นก�จักรรมส�าหร บหน.วยงานแลัะส.วนบ%คคลั
การจั ดที่�าใบลัาประเภที่ต.างๆ ผ่.านระบบ การจั ดที่�าใบลัาประเภที่ต.างๆ ผ่.านระบบการอน%ม ต�ใบลัาผ่.านระบบการอน%ม ต�ใบลัาผ่.านระบบตรวจัสอบสถุานะใบลัาตรวจัสอบสถุานะใบลัาการค�านวณีว นลัาสะสมการค�านวณีว นลัาสะสมการก�าหนดว นที่��ห2ามลัาการก�าหนดว นที่��ห2ามลัาการก�าหนดว นหย%ดขององค�กรการก�าหนดว นหย%ดขององค�กรรายงานสร%ปการลัารายงานสร%ปการลัา
จั ดที่�าระเบ�ยบวาระแลัะเอกสารแนบส�าหร บการจั ดที่�าระเบ�ยบวาระแลัะเอกสารแนบส�าหร บการประชิ%มประชิ%มจั ดที่�าฐานข2อม!ลัผ่!2เข2าร.วมประชิ%มจั ดที่�าฐานข2อม!ลัผ่!2เข2าร.วมประชิ%มจั ดการด�าเน�นการประชิ%มจั ดการด�าเน�นการประชิ%มจั ดที่�ารายงานการประชิ%มจั ดที่�ารายงานการประชิ%มจั ดที่�าระบบสอบถุามก�าหนดการประชิ%มแลัะตรวจัจั ดที่�าระบบสอบถุามก�าหนดการประชิ%มแลัะตรวจัสอบข2อม!ลัย2อนหลั งสอบข2อม!ลัย2อนหลั งจั ดที่�ารายงานสร%ปการประชิ%มต.างๆจั ดที่�ารายงานสร%ปการประชิ%มต.างๆการจัองห2องประชิ%มการจัองห2องประชิ%ม
การมอบหมายงานผ่.านระบบการมอบหมายงานผ่.านระบบการเก(บข2อม!ลัภาระงานของบ%คลัากรภายในหน.วยการเก(บข2อม!ลัภาระงานของบ%คลัากรภายในหน.วยงานงานการรายงานความก2าวหน2าของภาระงานของการรายงานความก2าวหน2าของภาระงานของบ%คลัากรภายในหน.วยงานบ%คลัากรภายในหน.วยงานประเม�นผ่ลัการปฏิ�บ ต�งานของบ%คลัากรประเม�นผ่ลัการปฏิ�บ ต�งานของบ%คลัากร
การจั ดที่�าประเภที่ค�าถุามการจั ดที่�าประเภที่ค�าถุามการจั ดที่�าค�าถุามตามประเภที่ต.างๆการจั ดที่�าค�าถุามตามประเภที่ต.างๆการจั ดที่�าแบบสอบถุามการจั ดที่�าแบบสอบถุามการที่�าแบบสอบถุามออนไลัน�ผ่.านระบบการที่�าแบบสอบถุามออนไลัน�ผ่.านระบบการสร%ปผ่ลัการที่�าแบบสอบถุามการสร%ปผ่ลัการที่�าแบบสอบถุาม
การต�ดต ,ง การต�ดต ,ง 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
เลั1อก เลั1อก CGI CGI แลั2วเลั1อกป%:ม แลั2วเลั1อกป%:ม NextNext
ที่�าการ ที่�าการ Install Install
โปรแกรมที่�าการ โปรแกรมที่�าการ Install CGI Install CGI
เม1�อที่�าการต�ดต ,งเร�ยบร2อย สามารถุที่�าการป;ด เม1�อที่�าการต�ดต ,งเร�ยบร2อย สามารถุที่�าการป;ดหน2าต.างการต�ดต ,งหน2าต.างการต�ดต ,ง
เม1�อที่�าการต�ดต ,ง เม1�อที่�าการต�ดต ,ง Module Fast CGI Module Fast CGI เร�ยบร2อย เร�ยบร2อย สามารถุที่�าการต�ดต ,ง สามารถุที่�าการต�ดต ,ง Module Module ได2โดยเลั1อก ได2โดยเลั1อก IIS IIS
ManagerManager ที่�าการเลั1อก ที่�าการเลั1อก Handler MappingsHandler Mappings
ที่�าการ ที่�าการ Add Module MappingAdd Module Mapping
ที่�าการกรอกข2อม!ลั ที่�าการกรอกข2อม!ลั Module Mapping Module Mapping ที่��ที่��ต2องการต2องการRequest Path : *.phpRequest Path : *.phpModule : FastCGIModuleModule : FastCGIModuleExecutable : php-cgi.exeExecutable : php-cgi.exeName : phpName : php
โปรแกรมที่�าการสร2าง โปรแกรมที่�าการสร2าง FastCGIFastCGI
เม1�อที่�าการต�ดต ,งเร�ยบร2อย โปรแกรมจัะแสดง เม1�อที่�าการต�ดต ,งเร�ยบร2อย โปรแกรมจัะแสดง PHP PHP ที่��สามารถุใชิ2งานได2ที่��สามารถุใชิ2งานได2
เข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
เร��มแรกที่�าการต�ดต ,ง เร��มแรกที่�าการต�ดต ,ง 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
ค ดลัอกโปรแกรม ค ดลัอกโปรแกรม eoffice eoffice ลังใน ลังใน Home Home Directory Directory ของเว(บไซต�เรา สมม%ต� ของเว(บไซต�เรา สมม%ต� Home Home Directory Directory อย!.ที่�� อย!.ที่�� E:\E:\
ค ดลัอกโปรแกรมวางที่��Home Directory
ที่�าการเข2าส!.โปรแกรม ที่�าการเข2าส!.โปรแกรม Internet Explorer Internet Explorer แลัะแลัะ เลั1อกที่�� เลั1อกที่�� eofficeeoffice
เม1�อเข2าส!.หน2าเว(บแลั2วเลั1อก เม1�อเข2าส!.หน2าเว(บแลั2วเลั1อก eoffice eoffice ระบบจัะแสดงระบบจัะแสดงหน2าจัอการต�ดต ,งระบบหน2าจัอการต�ดต ,งระบบ
กรอกรายลัะเอ�ยดของเคร1�องแม.ข.าย
เม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
ภาพัแสดงความสามารถุการที่�างานของ ภาพัแสดงความสามารถุการที่�างานของ IIS7 IIS7 ผ่.าน ผ่.านFastCGIFastCGI
Fast CGI + Caching
Fast CGI
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
การอ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