PHP-MySQL on IIS7 (Vista) 01

หลังจาก ที่เคยทดสอบ 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

iis+php_mysql

ได้ มาแล้วก็คลายไฟล์ทั้งหมดลงในไดรว์ซี แก้ไขชื่อโฟลเดอร์ให้สั้นจำง่ายเป็น 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 = me@example.com อีเมลนี้จะถูกป้องกันจากสแปมบอท แต่คุณต้องเปิดการใช้งานจาวาสคริปก่อน
    แก้ไขเป็น
    sendmail_from = me@localhost.com อีเมลนี้จะถูกป้องกันจากสแปมบอท แต่คุณต้องเปิดการใช้งานจาวาสคริปก่อน
    บรรทัด
    ;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 ได้สำเร็จ

โพสต์ยอดนิยมจากบล็อกนี้

ปัญหาและเฉลยธรรม นักธรรมชั้นโท สอบในสนามหลวง พ.ศ. ๒๕๔๓ วันพฤหัสบดี ที่ ๑๖ พฤศจิกายน พ.ศ. ๒๕๔๓

ปัญหาและเฉลยวินัยบัญญัติ นักธรรมชั้นเอก สอบในสนามหลวง พ.ศ. ๒๕๔๓ วันเสาร์ ที่ ๑๘ พฤศจิกายน พ.ศ. ๒๕๔๓

ปัญหาและเฉลยวิชาธรรม นักธรรมชั้นโท สอบในสนามหลวง วันเสาร์ ที่ ๑๙ พฤศจิกายน พ.ศ. ๒๕๔๘