|
PHP-MySQL on IIS7 (Vista) |
|
|
|
|
เขียนโดย ครูมนตรี
|
|
วันศุกร์ที่ 13 มิถุนายน 2008 เวลา 20:51 น. |
|
Page 1 จาก 2 เห่อ Windows Vista แก้ปัญหา PHP on IIS7
 |
หลังจากที่เคยทดสอบ PHP, MySQL บน Windows XP มานานพอสมควร พออัพเกรดเวอร์ชั่นของ PHP, MySQL เป็นเวอร์ชั่นที่สูงขึ้นก็ต้องใช้วิธีการอีกแบบหนึ่งที่ได้แนะนำไปแล้ว คราวนี้พอเปลี่ยนเวอร์ชั่นของวินโดว์จาก XP มาเป็นดาวรุ่งดวงใหม่ Windows Vista Enterprise ก็เจอปัญหาอีกแล้ว เป็นปัญหาของการเปลี่ยนเวอร์ชั่นใหม่ของ IIS เป็นรุ่นที่ 7 และความไม่คุ้นเคยจากหน้าตาที่เปลี่ยนไปเลยงงหนักเข้าไปอีก
|
ทุกปัญหาต้องเจอทางออก ถ้าคิดนอกกรอบ ใจเย็น รอบคอบ ทดลองแล้วใช้ได้เลย ตัวอย่าง นี้ทดลองบนวินโดว์วิสต้าเวอร์ชั่นสูงสุดสำหรับใช้ส่วนบุคคลในองค์กรคือ Enterprise และเหมือนเดิมคือต้องไปดาวน์โหลด PHP เวอร์ชั่นล่าสุดที่เป็นไฟล์ซิป (ไม่ใช่ตัวติดตั้ง Installer ในตัวอย่างผมใช้ไฟล์ php-5.1.6-Win32.zip และ pecl-5.1.6-Win32.zip สำหรับ Extension) เพื่อนำมาติดตั้งเองด้วยมือแบบ manual จากเว็บไซต์ www.php.net

ได้มาแล้วก็คลายไฟล์ทั้งหมดลงในไดรว์ซี แก้ไขชื่อโฟลเดอร์ให้สั้นจำง่ายเป็น C:\inetpub\php เพื่อทำการติดตั้งต่อไปตามขั้นตอนต่อไปนี้ครับ
- สร้าง โฟลเดอร์ชื่อ uploadtmp และ sessiontmp ไว้ภายในโฟลเดอร์ C:\inetpub\php และกำหนดสิทธิให้กับ Everyone สามารถจัดการได้แบบ Full control
- จัดการก็อบปี้ไฟล์ php.ini-dist ไปไว้ในโฟลเดอร์ C:\windows และเปลี่ยนชื่อใหม่เป็น php.ini แล้วทำการแก้ไขไฟล์ดังนี้
บรรทัด ;output_buffering = Off แก้เป็น output_buffering = 4096 บรรทัด register_globals = Off แก้ไขเป็น register_globals = On บรรทัด ;doc_root = แก้ไขเป็น doc_root = บรรทัด extension_dir = "./" แก้ไขเป็น extension_dir = "C:\Inetpub\PHP\ext" บรรทัด ; cgi.force_redirect = 1 แก้ไขเป็น cgi.force_redirect = 0 บรรทัด upload_tmp_dir = แก้ไขเป็น upload_tmp_dir = C:\Inetpub\PHP\uploadtmp บรรทัดตรง extension เลือกเอาเครื่องหมาย ( ; ) ที่อยู่ข้างหน้าออก ตามที่ต้องการใช้ ส่วนใหญ่ก็สามตัวนี้ extension=php_mbstring.dll extension=php_gd2.dll extension=php_mysql.dll บรรทัด ;sendmail_from =
อีเมลนี้จะถูกป้องกันจากสแปมบอท แต่คุณต้องเปิดการใช้งานจาวาสคริปก่อน
แก้ไขเป็น sendmail_from =
อีเมลนี้จะถูกป้องกันจากสแปมบอท แต่คุณต้องเปิดการใช้งานจาวาสคริปก่อน
บรรทัด ;session.save_path = "/tmp" แก้ไขเป็น session.save_path = "C:\Inetpub\PHP\sessiontmp" จากนั้นก็จัดการเซฟไฟล์นี้ (ถ้าเซฟไม่ได้ต้องเข้าไปกำหนดใน properties ของไฟล์ให้สิทธิ Everyone สามารถเขียนได้นะครับ)
- ขั้น ตอนต่อไปคือการกำหนดให้ IIS7 รู้จักภาษา PHP และทำงานได้ถูกต้อง เริ่มต้นด้วยการเปิด IIS7 ขึ้นมาก่อน ผ่านทาง Administrative tools > Internet Information Services (IIS) Manager ดังภาพ (เริ่มงง เพราะหน้าตาเปี๋ยนไป มันต่างจาก IIS5 - 6 อย่างสิ้นเชิง)

- มีหัวข้อที่ต้องจัดการเรียงลำดับคือ ISAPI filters, ISAPI and CGI Restriction, Default Document, Handler Mappings เริ่มต้นที่ ISAPI filters ดับเบิ้ลคลิกเลือก Add จะพบกรอบด้านล่าง ใส่ชื่อ Filter name: เป็น PHP และ Excutable: คลิกปุ่มบราวซ์เพื่อเลือกไฟล์ C:\inetpub\php\php5isapi.dll

- ISAPI and CGI Restriction ดับเบิ้ลคลิกเลือก Add จะพบกรอบด้านล่าง ให้กำหนด ISAPI and CGI path: คลิกปุ่มบราวซ์เพื่อเลือกไฟล์ C:\inetpub\php\php5isapi.dll Description: PHP อย่าลืมคลิกเลือก Allow extension.. แล้วคลิกปุ่ม OK

- ในหัวข้อนี้ ISAPI and CGI Restriction ให้คลิกเลือก Edit เพื่อกำหนดการทำงานของสคริปต์ดังภาพ คลิก OK

- ที่หัวข้อ Handler Mappings ดับเบิ้ลคลิกเลือก Add Script map จะพบกรอบด้านล่าง ใส่ชื่อ Request path: เป็น *.php และ Excutable: คลิกปุ่มบราวซ์เพื่อเลือกไฟล์ C:\inetpub\php\php5isapi.dll อีกครั้งและใส่ Name เป็น PHP คลิกปุ่ม OK

- จะมีกรอบถามยืนยันว่าจะให้ สิทธิในการทำงานของสคริปต์ ISAPI extension หรือไม่ ให้คลิก Yes เพื่อให้ระบบอนุญาตการทำงาน (Allowed)

- หัวข้อ Default Document ใช้เพื่อกำหนดชื่อไฟล์แรกในการเรียกเว็บไซต์ ในที่นี้ให้เพิ่ม index.php เข้าไปแล้วคลิกที่ Apply ด้านขวามือ

- เป็นอันเสร็จสิ้นการปรับแต่ง IIS ให้ปิด IIS Manager ไปและไปที่ My Computer เลือก Properties > Advanced System Setting > Environment variables

- Environment variables ให้คลิกที่ Path เลือก Edit แล้วเติมพาธของ PHP ต่อท้ายลงไปคือ C:\inetpub\php; ดังภาพ คลิก OK > OK แล้วปิดหน้านี้ไป รีสตาร์ทเครื่องสักครั้งหนึ่ง

- เขียนไฟล์ php เพื่อทดสอบการติดตั้ง โดยใช้ Notepad เขียนดังตัวอย่าง
จัดเก็บไฟล์ในชื่อ phpinfo.php เรียกผ่านบราวเซอร์ด้วยการพิมพ์ http://localhost/phpinfo.php ถ้าแสดงผลดังภาพข้างล่างก็แสดงความยินดีด้วย คุณติดตั้ง PHP ได้สำเร็จ

|
|
แก้ไขล่าสุด ใน วันพุธที่ 27 มกราคม 2010 เวลา 07:45 น. |
คอมเมนต์
มันซ่อนอยู่ที่ไ หนอ่ะค่ะ
คุณอาจจะไม่เห็น นามสกุลไฟล์ ต้องเข้าไปกำหนด ในโฟลเดอร์ออฟชั ่นให้แสดงไฟล์ซ่ อนและสกุลของไฟล ์ด้วย
ตอนนี้นานๆ ทีใช้วินโดว์ครั บ เลยไม่ได้จับภาพ ประกอบมาให้ดู (ใช้แม็คและลินุ กส์อุบุนตู) ซึ่งมันมี Mamp และ Xampp มาให้ใช้งานแล้ว
ติดตามคอมเมนต์นี้ในรูปแบบ RSS feeds