เซ็ต IIS 7.0 + PHP.ini แบบแยกแต่ละเว็บไซต์

อยากให้ IIS แยกไฟล์ php.ini แต่ละ subdomain หรือ domain ออกจากกัน มาดูวิธีกันครับ

1.เข้า Webserver Manager (IIS) (control panel->administration tools->iis)
2.เลือกไซต์ click ขวา ->add website

3.ใส่ชื่อเว็บไซต์ลงไป แล้วเลือก application pool [ปกติผมไม่เลือกสร้างใหม่ตามชื่อไซต์ครับ]
4.เลือก physical path  คือตำแหน่งที่ต้องการเก็บเว็บไซต์นั้นไว้ (กรณีไม่เก็บไว้ใน inetpub\www)
5.เลือกที่ folder ที่กำหนด physical path คลิกขวา -> properties->security[tab] คลิกปุ่ม Edit  แล้ว Add แล้ว Advance แล้ว Find Now

6.จะขึ้นรายชื่อ ให้เลือก IIS_IUSRS แล้ว กดปุ่ม OK
7.ทำให้ IIS_IUSRS สามารถ Read,Write,Execute Folder ได้ ด้วยการ เช็คเลือก Full control แล้ว กดปุ่ม OK

8. เปิดไฟล์ web.config ใน folder เว็บไซต์ที่กำหนดให้กับ Physical path  แล้ว แทรก code ด้านล่างลงไป ระหว่าง <system.webServer></system.webServer> แล้วบันทึก



<handlers>
            <add name="PHP53_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files\PHP\php-cgi.exe|-d open_basedir=d:\input_form" resourceType="Either" requireAccess="Script" />
</handlers>


9. start->run พิมพ์ %windir%\system32\inetsrv\config\ แล้วเปิดไฟล์ applicationHost.config แล้วค้นหา คำว่า fastCgi  แล้วแทรก code ลงไประหว่าง <fastCgi></fastCgi> แล้วบันทึก


<application fullPath="ตำแหน่งที่ตั้ง php-cgi.exe" arguments="-d open_basedir=ตำแหน่งที่เก็บเว็บไซต์">
<environmentVariables>
                    <environmentVariable name="PHP_FCGI_MAX_REQUESTS" value="10000" />
                    <environmentVariable name="PHPRC" value="ตำแหน่งที่เก็บเว้บไซต์" />
                </environmentVariables>
</application>

เช่น
  <application fullPath="C:\Program Files\PHP\php-cgi.exe" arguments="-d open_basedir=D:\input_form">
<environmentVariables>
                    <environmentVariable name="PHP_FCGI_MAX_REQUESTS" value="10000" />
                    <environmentVariable name="PHPRC" value="D:\input_form" />
                </environmentVariables>
</application>

10. restart iis โดยไปที่ start->run พิมพ์ iisreset หรือ จะใช้ IIS webserver manager แล้วเลือกไซต์แล้ว click restart ก็ได้ครับ แล้วลองทดสอบดูครับ จะได้เหมือนผมไหม :)


วิธีติดตั้ง IIS +PHP 

resource:
http://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/enable-per-site-php-configuration-on-iis-60-and-iis-7-and-above
http://ruslany.net/2008/07/per-site-php-configuration-with-iis-fastcgi/
http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/fastcgi-with-php#Per-site

แสดงความคิดเห็น