Thursday, March 4, 2010

Windows 7 + IIS + PHP + MySQL

IIS
  • ตามรูปเลยเราแค่เลือก Internet Information Services และ ไปเลือกที่ ISAPI Extensions แค่เนี๋ยแหละสำหรับ PHP บน IIS7 นะ (ทิปถ้าเราเลือก ASP.NET ส่วนอื่นจะถูกเลือกอัตโนมัติ)
MySQL
  • ทำการติดตั้ง คอนฟิกค่าโปรแกรมให้เรียบร้อย และ รอไปคอนฟิกที่ PHP ต่อ

PHP

  • โหลดไฟล์ PHP จากเว็บเค้า ให้เลือกแบบ zip บน windows อ่ะ แตกไฟล์ไว้ C:\PHP5
  • กดปุ่ม Windows + R จะได้ หน้าต่าง Run ขึ้นมาแล้วให้เราพิมพ์ inetmgr จากนั้นมองลงด้านล่างจะเห็น Handler Mappings ดับเบิ้ลคลิกซะพี่น้อง
  • ทางด้านขวาเลือกที่ Add Script Map...
  • Request path: *.php
  • Excutable: C:\PHP5\php5isapi.dll (พาธเราอยู่ในก็เลือกตามพาธเรา)
  • Name: PHP
  • สร้างไฟล์ php.ini จาก php.ini-dist หรือ php.ini-recommended อย่างใดอย่างหนึ่ง และ คัดลอกไปวางที่ C:\Windows
  • แก้ไขไฟล์ php.ini ซะหน่อย
  • ;extension_dir = "./" เอาคอมเม้น (เซมิโคลอนด้านหน้า) ออก
  • และ แก้เป็น extension_dir="C:/PHP5/ext" (อันนี้สำคัญ ถ้าไม่เปลี่ยนเป็นแบบนี้ extension จะใช้ไม่ได้เด้อ เช่น mysql ใช้ไม่ได้เป็นต้น)
  • และ ;extension=php_mysql.dll เอาคอมเม้น (เซมิโคลอนด้านหน้า) ออก
  • ทำการ save php.ini ซะด้วยอย่าลืม
  • จากนั้นเข้าไปที่ C:\PHP5 ให้เราคัดลอก libmysql.dll ไปวางที่ C:\Windows\System32 ซะ
  • ทดสอบว่า PHP เราทำงานร่วมกับ MySQL โดยสร้างไฟล์ php มาชื่อ index.php ในไฟล์ที่โคัด <?php phpinfo(); ?>
  • ซื่งถ้าไม่มีปัญหาอาไร เราก็จะเห็นคอนฟิก MySQL ใน PHP Info นั่นเอง
  • แต่ถ้าไม่มี MySQL ใน PHP Info ให้เราเช็ค libmysql.dll ใน php ว่าคัดลอกไปวางใน System32 ยัง (แต่บน Windows 7 64bit คอนฟิก PHP ให้ทำงานกับ MySQL ไม่ได้ซักที่ไม่รู้เป็นไร ทำงี้แป๊ะเลย บน 32 bit ไม่มีปัญหา แต่ 64 bit มีปํญหาใช้ MySQL ไม่ได้ซะงั้น)

เพิ่มเติม
  • ถ้า php มันยังเรียกใช้ library ของ mysql ไม่ได้ให้เราพิจารณาเรื่อง permission
  • ซึ่งปัญหาน่าจะเกิดจาก permission ของ php.ini และ libmysql.dll สองตัวนี้
  • โดยปรับ permission โดยเพิ่มผู้ใช้ iis_usrs กำหนดสิทธิ์ read & execute

อ้างอิง

No comments:

Post a Comment

Popular Posts