Bài 2. Cài đặt XAMPP và chạy chương trình đầu tiên

XAMPP gói sẵn Apache, PHP, MySQL và phpMyAdmin trong một bộ cài. Bài này hướng dẫn cài trên Windows (và lưu ý cho macOS), tổ chức thư mục htdocs, chạy tệp PHP đầu tiên và xử lý các lỗi thường gặp.

45 phútCơ bản
Bạn sẽ học được
  • Cài XAMPP và khởi động Apache, MySQL
  • Biết thư mục htdocs và địa chỉ localhost
  • Tạo và chạy tệp PHP đầu tiên
  • Mở phpMyAdmin; xử lý lỗi trùng cổng
Thuật ngữ cần biết
Apache
Máy chủ web nhận request và gọi PHP.
htdocs
Thư mục gốc chứa các website trên máy bạn.
localhost
Tên gọi của chính máy bạn (127.0.0.1).
phpMyAdmin
Giao diện web quản trị MySQL.

Khái niệm và lý thuyết

Máy tính của bạn sẽ đóng cả hai vai: vừa là máy chủ (XAMPP) vừa là máy khách (trình duyệt). Mọi tệp đặt trong htdocs được truy cập qua http://localhost/; ví dụ C:\xampp\htdocs\ltudw\bai1.php → http://localhost/ltudw/bai1.php.

Cài đặt trên Windows

  • Tải XAMPP tại apachefriends.org (bản PHP 8.x), chạy bộ cài, giữ đường dẫn mặc định C:\xampp.
  • Nếu Windows hỏi về User Account Control, chọn OK; tắt tạm phần mềm diệt virus nếu cài lỗi.
  • Mở XAMPP Control Panel, bấm Start ở Apache và MySQL; hai dòng chuyển màu xanh là thành công.
  • Mở trình duyệt vào http://localhost để thấy trang chào của XAMPP; http://localhost/phpmyadmin để quản lý CSDL.

Trên macOS, cài bản XAMPP cho macOS, thư mục gốc là /Applications/XAMPP/htdocs; thao tác còn lại tương tự.

Chương trình đầu tiên

  • Tạo thư mục C:\xampp\htdocs\ltudw.
  • Mở VS Code → File → Open Folder → chọn thư mục đó; cài tiện ích PHP Intelephense.
  • Tạo tệp bai1.php với nội dung bên dưới, lưu lại.
  • Truy cập http://localhost/ltudw/bai1.php.
<?php
$ten = "Sinh viên Trường Đại học Tây Bắc";
echo "<h1>Xin chào $ten!</h1>";
echo "<p>Phiên bản PHP: " . phpversion() . "</p>";
phpinfo(INFO_GENERAL);
?>

Lỗi thường gặp

Triệu chứngNguyên nhânCách xử lý
Apache không Start, báo Port 80 in useSkype, IIS, World Wide Web Publishing chiếm cổng 80Tắt dịch vụ đó, hoặc Config → đổi Listen 80 thành 8080 rồi vào localhost:8080
MySQL không StartCổng 3306 bị chiếm hoặc MySQL khác đã càiDừng dịch vụ MySQL khác (services.msc)
Trình duyệt hiện mã PHPMở tệp bằng file:// thay vì localhostLuôn vào qua http://localhost/...
Lỗi 404Sai tên thư mục/tệp, phân biệt hoa thườngKiểm tra lại đường dẫn trong htdocs
Chữ Việt lỗi phôngTệp không lưu UTF-8VS Code: góc dưới phải chọn UTF-8; thêm meta charset
Mẹo hay

Bật hiển thị lỗi khi học: trong C:\xampp\php\php.ini đặt display_errors = On, rồi Stop/Start lại Apache. Khi đưa lên máy chủ thật phải tắt.

Lưu ý

Không để thư mục dự án trong htdocs có dấu cách hoặc tiếng Việt có dấu; đặt tên chữ thường như ltudw, qlsv.

Thực hành
  1. Cài XAMPP, khởi động Apache và MySQL, chụp màn hình Control Panel.
  2. Chạy bai1.php, đổi tên và xem lại.
  3. Tạo tệp loi.php cố ý thiếu dấu chấm phẩy, quan sát thông báo lỗi.
  4. Mở phpMyAdmin, tạo CSDL thử tên qlsv.
Tóm tắt bài học
  • XAMPP = Apache + PHP + MySQL + phpMyAdmin.
  • Mã đặt trong htdocs, chạy qua http://localhost/.
  • VS Code + Intelephense để viết PHP.
  • Lỗi cổng 80/3306 là lỗi hay gặp nhất khi cài.