ติดตั้ง (XAMPP) เวอร์ชั่น 5.x (for Windows 7,8,10) เขียน PHP/MySQL (Apache, PHP, MySQL, phpMyAdmin) ปัจจุบันหลาย ๆ คนหันมาใช้ XAMPP กันเยอะแล้ว เหตุผลหลักก็คือ XAMPP มี Package ที่พร้อมใช้งานทุกรุปแบบ มีการอัพเดดเวอร์ชั่นรวมทั้งวิธีการ Config ให้ทันสมัย เป็นมาตรฐานและส่งเสริมให้โปรแกรมเมอร์เขียน php อย่างถูกต้องและปลอดภัย และไม่มีปัญหาเมื่อนำไปใช้งานจริงบน Hosting ปัจจุบัน XAMPP อยู่ที่ Version 5.6-5.6 ส่วน PHP จะอยู่ที่ Version 5.4-5.6 สาเหตุที่เราต้องอัพเดดให้มันทันสมัยก็คือ เนื่องจากปัจจุบัน Library ต่าง ๆ ที่จะใช้งานบน PHP มีการอัพเดดอยู่เสมอ ฉะนั้นถ้ายังใช้เวอร์ชั่นเก่า ๆ อาจจะมีปัญหาเรื่อง extension อาจจะไม่ Support หรือไม่สามารถทำงานได้ เช่นฟังก์ชั่นของ mysqli , sqlsrv , pdo ,oci เป็นต้น



Install XAMPP 5.x for Windows



ในบทความนี้จะแนะนำวิธีการติดตั้ง XAMPP 5.x อย่างละเอียด รวมทั้งโครงสร้างพื้นฐานของ XAMPP ว่ามีการจัดเก็บ Source ของ Apache, PHP, MySQL ว่าถูกจัดเก็บไว้ที่ไหน และจะแก้ไขค่า Config เบื้องต้นได้อย่างไรบ้าง เช่น การ Config port ของ Apache หรือการเปลี่ยน Password ของ MySQL บน phpMyAdmin

Download XAMPP


สามารถดาวน์โหลดโปรแกรม XAMPP ได้ที่เว็บไซต์ของ apachefriends.org

XAMPP 5.x PHP กับ MySQL

ปจจุบันอยู่ที่ Version 5.5.30 และ 5.6.14 เลือกใช้เวอร์ชั่นไหนก็ได้ ให้ดูที่ PHP เป็นหลัก หรือถ้าไม่รู้ก็ให้เลือกเวอร์ชั่น 5.6.14 ได้เลย

Note!! จากไฟล์ที่ดาวน์โหลดจะเห็นว่าแค่เฉพาะ 32-bit แต่ไม่ต้องสนใจ เพราะมันสามารถใช้ได้กับ 64-bit ได้เช่นเดียวกัน

XAMPP 5.x PHP กับ MySQL

ขั้นตอนนี้ให้เลือก Yes (เป็นการแจ้งเตือนในกรณีที่ตรวจสอบพบโปรแกรม Antivirus ซึ่งอาจจะมีปัญหาในการ Start พวกเซอร์วิสของ Apache , MySQL ได้)

XAMPP 5.x PHP กับ MySQL

เลือก Next

XAMPP 5.x PHP กับ MySQL

ให้เลือกเฉพาะรายการที่จำเป็นต้องใช้เช่น Apache, MySQL, PHP, phpMyAdmin และอื่น ๆ หรือไม่ก็ทั้งหมดเลยก็ได้

XAMPP 5.x PHP กับ MySQL

เลือก Path จัดเก็บไฟล์ของ XAMPP แนะนำให้เก็บลงใน Drive D:\xampp ที่ไม่ใช่ Path ของ C:\ เพราะจะไม่มีปัญหาในกรณีที่ Windows เสียหาย

XAMPP 5.x PHP กับ MySQL

เลือก Next

XAMPP 5.x PHP กับ MySQL

กำลังติดตั้ง XAMPP

XAMPP 5.x PHP กับ MySQL

หลังจากที่ติดตั้งเรียบร้อยแล้ว สามารถเลือก Start ตัว Control Panel ของ XAMPP ได้เลย

XAMPP 5.x PHP กับ MySQL

โครงสร้างของไฟล์ใน XAMPP

  • xampp\apache : จัดเก็บไฟล์ของ Apache
  • xampp\htdocs : จัดเก็บไฟล์ php ซึ่งโปรเจคของเราจะจัดเก็บไว้ที่นี่
  • xampp\mysql : จัดเก็บ mysql รวมทั้งข้อมูลที่เป็น ฐานข้อมูล
  • xampp\php : จัดเก็บ php เช่นพวก php.ini , extension
  • xampp\phpMyAdmin : เป็นไฟล์โปรแกรม phpMyAdmin


สรุปที่เราจำเป็นต้องสนใจคือ htdocs ซึ่งเป็นพาส root เราจะเก็บไฟล์ต่าง ๆ หรือโปรเจคที่จะเขียนไว้ที่นี่

XAMPP 5.x PHP กับ MySQL

xampp\php เป็น Path ของ php เช่น php.ini

XAMPP 5.x PHP กับ MySQL

xampp\php\ext เป็น Path ของ php จัดเก็บ extension

XAMPP 5.x PHP กับ MySQL

xampp\htdocs เป็น Path ที่เป็น root จัดเก็บพวกไฟล์ php ที่เราจะเขียนไว้ที่นี่

XAMPP 5.x PHP กับ MySQL

xampp\mysql\data เป็น Path จัดเก็บฐานข้อมูล MySQL

การเรียกใช้ XAMPP (Control Panel)

XAMPP 5.x PHP กับ MySQL

โดยปกติแล้วเมื่อ XAMPP ทำงานจะเรียก Control Panel ได้จาก Taskbar

XAMPP 5.x PHP กับ MySQL

หรือสามารถเปิดได้ที่เมนู Start -> Program - XAMPP -> XAMPP Control Panel

XAMPP 5.x PHP กับ MySQL

หน้าตาของ XAMPP ซึ่งโดยปกติแล้ว Apache, MySQL จะไม่ Start ให้เราอัตโมัติ ให้เราคลิก Start

XAMPP 5.x PHP กับ MySQL

ค่า Default ของ Apache จะทำงานอยู่ที่ Port : 80 แต่ในกรณีที่ Port นี้มีการเรียกใช้งานโดย Services อื่น ๆ อยู่แล้ว เช่น IIS จะไม่สามารถ Start ได้

XAMPP 5.x PHP กับ MySQL

วิธีการแก้ไขคือ เปลี่ยนไปใช้ Port อื่น โดยคลิกที่ Config -> Apache (httpd.conf)

XAMPP 5.x PHP กับ MySQL

เปลี่ยนจาก Listen 80 เป็นอื่น ๆ ในที่นี้ผมใช้ Listen 8181

XAMPP 5.x PHP กับ MySQL

จากนั้น Start ตัว Apache และ MySQL ใหม่ ถ้ามันทำงานจะแสดง PID และ Port ดังรูป

การเรียกใช้งาน Apache Web Server

XAMPP 5.x PHP กับ MySQL

การเรียกใช้งาน Apache สามารถเรียกได้จาก http://localhost:port-number ในกรณีที่ Port : 80 จะไม่ต้องระบุ

http://localhost:8181

ในนี้จะเรียก Port : 8181 เพราะได้มีการระบุให้ Apache ทำงานภายใต้ Port : 8181

ในกรณีที่ Apache ทำงานได้ จะแสดงหน้าจอดังรูป

การเรียกใช้งาน phpMyAdmin

XAMPP 5.x PHP กับ MySQL

เรียกได้จาก http://localhost:port-number/phpMyAdmin หรือคลิกที่ phpMyAdmin

XAMPP 5.x PHP กับ MySQL

หน้าจอของ phpMyAdmin

การ Connect กับ MySQL Database โดยค่าพื้นฐานที่เป็น Default การ Connect ของ MySQL จะใช้

Host : localhost
User : root
Password : (ปล่อยว่าง)


เราสามารถแก้ไข User/Password ของ MySQL ได้โดยการคลิกที่ Users

XAMPP 5.x PHP กับ MySQL

คลิกที่ Users เพื่อจะเปลี่ยน Password ให้กับ User

XAMPP 5.x PHP กับ MySQL

สิ่งที่เราจะสนใจคือ User name : root และ Host : localhost ซึ่งในรูปจะเห็นว่ายังไม่มีการกำหนด Password ให้คลิกที่ Edit Privilages

XAMPP 5.x PHP กับ MySQL

เลือก Change Password

XAMPP 5.x PHP กับ MySQL

กำหนด Password ใหม่พร้อมยืนยัน

XAMPP 5.x PHP กับ MySQL

phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.


ในกรณ๊ที่เปลี่ยน Password ของ root แล้ว เราจะเห็นว่า phpMyAdmin จะเข้าไม่ได้ เนื่องจากมีการกำหนดค่าเชื่อมต่อของ User : root ไว้

XAMPP 5.x PHP กับ MySQL

ให้เปิด xampp\phpMyAdmin\config.inc.php และแก้ไขค่าเชื่อมต่อจาก

1./* Authentication type and info */

2.$cfg['Servers'][$i]['auth_type'] = 'config';
3.$cfg['Servers'][$i]['user'] = 'root';
4.$cfg['Servers'][$i]['password'] = '';
5.$cfg['Servers'][$i]['extension'] = 'mysqli';
6.$cfg['Servers'][$i]['AllowNoPassword'] = true;
7.$cfg['Lang'] = '';


เป็น

1./* Authentication type and info */
2.$cfg['Servers'][$i]['auth_type'] = 'config';
3.$cfg['Servers'][$i]['user'] = 'root';
4.$cfg['Servers'][$i]['password'] = 'root';
5.$cfg['Servers'][$i]['extension'] = 'mysqli';
6.$cfg['Servers'][$i]['AllowNoPassword'] = true;
7.$cfg['Lang'] = '';



XAMPP 5.x PHP กับ MySQL

จะเข้า phpMyAdmin ได้ปกติ

ทดสอบการเขียน PHP เชื่อมต่อกับ MySQL Database ด้วย mysqli (function)

XAMPP 5.x PHP กับ MySQL

สร้างไฟล์ทดสอบไว้ที่ xampp\htdocs\test-connect.php

test-connect.php

01.<html>
02.<head>
03.<title>ThaiCreate.Com PHP & MySQL (mysqli)</title>
04.</head>
05.<body>
06.<?php
07. 
08.ini_set('display_errors', 1);
09.error_reporting(~0);
10. 
11.$serverName "localhost";
12.$userName "root";
13.$userPassword "root";
14.$dbName "test";
15. 
16.$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
17. 
18.if (mysqli_connect_errno())
19.{
20.echo "Database Connect Failed : " . mysqli_connect_error();
21.}
22.else
23.{
24.echo "Database Connected.";
25.}
26. 
27.mysqli_close($conn);
28.?>
29.</body>
30.</html>


Result

XAMPP 5.x PHP กับ MySQL

แสดงการเชื่อมต่อได้แล้ว จะเห็นว่าเราจะใช้

Host : localhost
User : root
Password : root