Sunday, November 6, 2011

Config IIS7 add support PHP by Fast CGI on Windows 7


  • ในที่นี้โหลด PHP เวอร์ชั่น 5.3 มาลงใน Windows 7 64bit กับ IIS7
  • แต่งงมากคือ 5.3 ไม่มีไฟล์ชื่อ phpisapi.dll กับ libmysql.dll แล้วเราจะคอนฟิกมันไงล่ะเนี๋ย
  • อ่านดูแล้วก็ไม่ค่อยรู้เรื่องสักนิดเลยหว่า
5.3.0 The MySQL Native Driver was added, with support for all MySQL extensions (i.e., mysql, mysqli and PDO_MYSQL). Passing in mysqlnd to the appropriate configure switch enables this support.
5.4.0 The MySQL Native Driver is now the default for all MySQL extensions (i.e., mysql, mysqli and PDO_MYSQL). Passing in mysqlnd to configure is now optional.
สรุปความต่าง PHP 5.3 กับ 5.4
  • PHP 5.3 เนี๋ยเพิ่ม driver แล้ว ก็คงประมาณคอนฟิกปุ๊ปใช้ได้ปรับโดยไม่ต้องคัดลอก dll ต่างๆ ไปวางที่ system32 เหมือน 5.2 แต่ต้อง configure enable php_mysql extension ใน php.ini เล็กน้อย
  • แต่ PHP 5.4 จะเปิด extension php_mysql ให้โดยค่าเริ่มต้น ประมาณ คอนฟิก IIS ให้ใช้ PHP ได้ก็สามารถ เขียน connect mysql ได้เลยมั้ง

Solved
  • ขั้นแรกก็จัดการติดตั้ง IIS พร้อม component ที่จำเป็นสำหรับ PHP เรา

  • ตรวจสอบความพร้อม IIS ให้เรียบร้อย http://localhost หรือ netstat -na | find ":80" ตรวจสอบพอร์ต 80 ว่า LISTENED หรือยัง
  • ขั้นต่อมาคือคอนฟิก IIS ให้ support PHP เราในที่นี้ใช้ Fast CGI 
  • Download PHP และแตกไฟล์ให้เรียบร้อยในที่นี้แตกไฟล์ที่ C:/php5/ และสร้างไฟล์ php.ini จาก php.ini-development และคัดลอกไปวางที่ C:\Windows
  • กดปุ่ม Start พิมพ์ iis หรือพิมพ์ inetmgr และกดปุ่ม Enter เพื่อเปิด IIS manager ขั้นมา 
  • ดับเบิ้ลที่ Handler Mappings
  • จากนั้นเราจะได้หน้าต่างของ Handler Mappings
  • ให้เราไปที่เมนู Actions และคลิกที่ Add Module Mapping... 
  • กันลืมถ้าเราใช้ ISAPI ก็ให้คลิกที่ Add Script Map... แต่ในโพสนี้ ก็ใช้ Module นั่นแหละ
  • Request path: ใส่เป็น *.php
  • Module: ก็เลือกเป็น FastCgiModule
  • Executable (optional): ใส่พาธของ php-cgi.exe
  • Name: ให้อะไรก็ได้แล้วแต่เราจะตั้งและเข้าใจในที่นี้ใส่เป็น PHP 5.3
  • กรอกข้อมูลเสร็จก็ OK ซะ
  • ใน list ก็จะปรากฏค่าที่เรากรอกลงไปเมื่อกี้
  • แต่แค่นี้มันดูง่ายเกินไป ยังไม่เสร็จนะครับพี่น้อง แก้ php.ini ต่อเลย
  • cgi.force_redirect เปลี่ยนค่าให้เป็น 0
  • cgi.fix_pathinfo เปลี่ยนค่าให้เป็น 1
  • fastcgi.impersonate เปลี่ยนค่าให้เป็น 1
  • จากนั้นก็เอาคอมเม้นออกที่ extension=php_mysql.dll สำหรับเปิดใช้  mysql 
  •  php 5.3 ทำแค่นี้เท่านั้น แต่ 5.2 ต้องใช้ libmysql.dll ด้วย
  • และสุดท้ายก็ iisreset เป็นอันเสร็จทุกขั้นตอน 
  • ทดสอบ PHP โดยสร้าง info.php เพิ่มไว้ภายใต้ web root โดยมี content แบบนี้
  • <?php phpinfo(); ?>
เพิ่มเติม
  • ในโพสนี้ทดสอบบน Win7 64bit

เกี่ยวข้อง

อ้างอิง

No comments:

Post a Comment