ติดตั้ง PHP 7.0.x สำหรับ IIS 7.5 บน Windows Server 2008 R2 64bit

โดย SONGCHAI SAETERN

สรุปขั้นตอนการอัพเกรด PHP เป็นเวอร์ชั่น 7 แบบคร่าวๆ นะครับ
สำหรับท่านใดที่ใช้ IIS เป็นเว็บเซิร์ฟเวอร์บนระบบปฏิบัติการ Windows Server 2008 R2  64bit ก็สามารถใช้ขั้นตอนต่อไปนี้ได้เลย ซึ่ง IIS สำหรับระบบปฏิบัติการ Windows Server 2008 R2 จะได้เป็นเวอร์ชั่น 7.5 และเมื่อติดตั้ง PHP จะได้เวอร์ชั่น PHP 5.3 

ติดตั้ง PHP เพื่อใช้งาน PHP บน IIS Web Server (Windows Server 2008)

หลังจากที่ปลายปีที่แล้ว PHP ได้ปล่อยเวอร์ชั่น 7 ออกมา ซึ่งเท่าที่เก็บข้อมูลมาแล้วเห็นว่าประสิทธิภาพดีกว่าทุกรุ่น จึงสนใจที่จะอัพเกรดเป็น PHP 7.0.13 ที่เป็นเวอร์ชั่นล่าสุด แต่เมื่อดาวน์โหลดมาใช้กลับไม่สามารถสั่งให้เว็บเซิร์ฟเวอร์รันได้ ก็เลยเปลี่ยนเป็นใช้วิธีติดตั้งเวอร์ชั่นที่มีใน Web Platform Installer แทน ซึ่งก็ได้เป็น PHP 7.0.9 มาแทน



สำหรับขั้นตอนการติดตั้ง PHP เวอร์ชั่นอื่นเพิ่มเติมก็มีดังนี้ครับ

1. ติดตั้ง PHP เวอร์ชั่น 7 สำหรับ IIS ผ่านทาง Web Platform Installer
https://sysadmin.psu.ac.th/…/%E0%B8%81%E0%B8%B2%E0%B8%A3-u…/


แต่หลังจากตั้งค่าผ่าน PHP Manager ใน IIS จะพบว่ายังไม่สามารถใช้งานได้ เพราะการจะรัน PHP 7.0.x ได้นั้นต้องมี VC14 ด้วย (Visual C++ Redistributable for Visual Studio 2015)
http://comerror.com/runtime-l1-1-0-dll-is-missing.html

แต่การจะติดตั้ง VC14 ได้นั้นระบบปฏิบัติการจะต้องอัพเกรดเป็น Service Pack 1 ก่อน

2. อัพเกรด Windows Server เป็น SP1 (ค้นหาด้วยคำว่า Windows Server 2008 R2 SP1)

เลือก windows6.1-KB976932-X64
>>> https://thaiwinadmin.blogspot.com/2011/02/install-windows-server-2008-r2-sp1.html

3. ติดตั้ง VC14 จะเป็นเวอร์ชั่น Visual C++ Redistributable for Visual Studio 2015
Visual C++ Redistributable for Visual Studio 2015
https://www.microsoft.com/en-us/download/details.aspx?id=48145


หลังจากนั้นก็รันเปลี่ยนเวอร์ชั่นไปมาระหว่าง 5.3 กับ 7.0 ด้วย PHP Manager ใน IIS ได้ตามสะดวก ^^" ซึ่งตอนนี้ได้ลองทดสอบใน VMWare แล้วผ่านฉลุย ต่อไปก็จะเป็นขั้นตอนการเปลี่ยนโค้ดจาก PHP 5.3 ไปเป็น PHP 7.0 โดยการไล่แก้คำสั่งหรือฟังก์ชั่นที่ถูกยกเลิกไปแล้ว

ซึ่งงานตรงนี้คงจะใช้เวลาค่อนข้างนานทีเดียว แต่ก็ลดเวลาในส่วนของการจัดการฐานข้อมูลได้หน่อยเพราะผมใช้คลาสที่เขียนแยกเอาไว้ ก็ไม่ต้องไปไล่แก้คำสั่งที่เกี่ยวกับฐานข้อมูลทุกหน้า แค่แก้ที่คลาสที่เดียวก็จบเลย (ตรงนี้แหละครับเป็นจุดที่ผมอยากเปลี่ยนไปใช้ CodeIgntier เพราะเราไม่ต้องแก้อะไรเลย ^^ เวลาเปลี่ยนเวอร์ชั่น PHP หรือเปลี่ยนฐานข้อมูล ถ้าใช้ Class ที่มีอยู่แล้วของ Framework)


ท่านใดที่ใช้ Windows Server ก็ลองสร้าง VM สักตัวแล้วลองทำตามขั้นตอนนี้กันดูนะครับ ^^

-------------
เพิ่มกรณีแก้ไข my.ini เพื่อเปลี่ยน datadir ของ MySQL แล้วไม่สามารถ Start MySQL Service ได้



กรณีในโฟลเดอร์ data ของ MySQL ตัวที่ติดตั้งใหม่ไม่มี 3 ไฟล์นี้ ให้ย้าย 3 ไฟล์นี้ออกไปที่อื่น (เก็บเป็น BACKUP เอาไว้ป้องกันมีปัญหาต้องการนำกลับมาใหม่)

เมื่อย้าย 3 ไฟล์นี้ออกไปแล้วลอง Start Service อีกครั้ง จะสามารถรันได้ปกติ



PHP CI MANIA PHP Code Generator 
โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม เขียนโปรแกรมง่ายและสะดวกขึ้น
สนใจสั่งซื้อราคาสุดคุ้ม >> http://fastcoding.phpcodemania.com/