Bài giảng cung cấp cho người học các kiến thức: Bài giảng Apache & MySQL & PHP. Hi vọng đây sẽ là một tài liệu hữu ích dành cho các bạn sinh viên đang theo học môn dùng làm tài liệu học tập và nghiên cứu.
Apache & MySQL & PHP Đặng Thành Trung Giới thiệu Apache • Là WEB Server miễn phí phát triển theo chuẩn mã nguồn mở • Apache chạy hai môi trường Linux Windows • Có thể download phiên Apache địa chỉ: http://www.apache.org • Các phiên 1.x 2.x (mới nhất) khác kiến trúc Chi tiết xin xem feature log 1.1 Cài đặt Apache 2.x • Download phiên RPM (.rpm) Linux Source code (.tar.bz2) Apache Program install (.msi) Windows Source code (.zip) 1.2 Cài đặt Apache 2.x (Windows) • Để cài đặt Apache Windows chương trình cài đặt tự động, cần download chương trình từ website Apache Thơng thường chương trình dạng khơng hỗ trợ giao thức https • Q trình cài đặt tự động chép tất file cần thiết vào thư mục định • Có thể sử dụng chương trình quản lý mức dịch vụ để start, stop, restart, reload Apache khởi động tay 1.3 Cấu hình Apache • Tồn cấu hình Apache lưu dạng text • File cấu hình httpd.conf nằm thư mục {apache_dir}\conf Trong file chứa khai báo include đến file cấu hình khác • Mỗi dịng file cấu hình mang ý nghĩa – – – Là khoảng trắng Là thích (bắt đầu ký tự #) Là khai báo (gồm từ khóa giá trị) Từ khóa giá trị 1.3 Cấu hình Apache (tt) • Tồn tài liệu Apache (bao gồm khai báo cấu hình) cài đặt (mặc định) với Apache Có thể truy cập vào tài liệu thơng qua URL (có dấu / cuối cùng) http:///manual/ • Thơng thường URL bị vơ hiệu hóa (mặc định) bỏ thích dịng “Include conf/extra/httpd-manual.conf” file cấu hình (httpd.conf) restart lại Apache 1.3 Cấu hình Apache (tt) • Sau số khai báo thường gặp cấu hình Apache: – Listen: Khai báo web server dùng IP cổng Có thể khai báo nhiều lần – LoadModule: Khai báo module nạp vào Apache khởi động Nên dùng để bỏ bớt module không cần thiết nạp module người dùng tự viết – ServerName: Tên server Nếu Apache khơng tìm tên máy tính qua DNS khai báo bắt buộc phải có – DocumentRoot: Thư mục gốc web server Cần lưu ý đến quyền hệ thống gán lên thư mục account dùng để chạy Apache 1.3 Cấu hình Apache (tt) • số khai báo thường gặp cấu hình Apache: – DirectoryIndex: Khai báo file mặc định – AddDefaultCharset: Khai báo bảng mã mặc định luồng siêu văn trả cho client – Directory: Là khai báo khối (bên chứa khai báo con) dùng để định nghĩa quy tắc ứng xử Apache thư mục – VirtualHost: Là khai báo khối, dùng để định nghĩa web server ảo theo tên máy tính – Alias: Dùng để tạo thư mục ảo Giới thiệu MySQL • Là hệ quản trị sở liệu miễn phí phát triển theo chuẩn mã nguồn mở • MySQL chạy hai môi trường Linux Windows • Có thể download phiên MySQL địa chỉ: http://www.mysql.com • Các phiên 3.x, 4x 5.x (mới nhất) khác kiến trúc Chi tiết xin xem feature log 2.1 Cài đặt MySQL 5.x • Download phiên RPM (.rpm) Linux Source code (.tar.gz) MySQL Program install (.msi) Windows Source code (.zip) 4.2 Biến (tt) • 4.2.4 Biến bên ngồi PHP: – Biến form: Được truy cập thông qua biến mảng siêu toàn cục định nghĩa trước $_POST, $_GET, $_COOKIE, $_REQUEST, $_FILES Nếu khai báo register_global bật php.ini tự động biến có tên tương ứng tạo – Biến session: Được truy cập thơng qua biến mảng siêu tồn cục định nghĩa trước $_SESSION – Biến server: Được truy cập thơng qua biến mảng siêu tồn cục định nghĩa trước $_SERVER, $_ENV 4.3 Kiểu liệu • PHP hỗ trợ nhiều kiểu liệu phổ thơng ngơn ngữ lập trình khác (được liệt kê bên phải) • Trên thực tế, PHP khơng định kiểu tuyệt đối cho biến mà tùy vào ngữ cảnh, biến định có kiểu tương ứng • Để ép kiểu dùng cú pháp C dùng hàm settype() • Kiểu vô hướng – – – – boolean interger float string • Kiểu có cấu trúc – array – object • Kiểu đặc biệt – resource – NULL •… 4.3 Kiểu liệu (tt) • Kiểu boolean – Tập xác định: { true, false } – Toán tử liên quan: < > = == != === !== && || and or xor (bool) • Kiểu interger – Tập giá trị: { (-231) … (231 – 1) } – Văn phạm: • • • • decimal: hexa: octal: integer: [1-9][0-9]* | 0[xX][0-9a-fA-F]+ 0[0-7]+ [+-] 4.3 Kiểu liệu (tt) • Kiểu interger – Toán tử liên quan: & | ^ ~ + - * / % ++ > &= |= ^= += -= *= /= %= = (int) • Kiểu float – Tập xác định: { (-1,8 x 10308) … (1,8 x 10308) } – Văn phạm: • • • lnum: dnum: float: [0-9]+ ([0-9]*[.]{lnum}) | ({lnum}[.][0-9]*) (({lnum} | {dnum}) [eE][+-] {lnum}) 4.3 Kiểu liệu (tt) • Kiểu float – Tốn tử liên quan: Giống kiểu interger • Kiểu string – Cách xác định • Đặt cặp nháy đơn ‘ ’: Các ký tự hai dấu nháy đơn xử lý văn túy, có ký tự metacharacter có hiệu lực ký tự \ • Đặt cặp nháy kép “ ”: Các ký tự hai dấu nháy kép tiền xử lý trước coi xâu thực Ví dụ “this is a new paragraph \n and this is character A: \x41” • Đặt cặp cú pháp heredoc 5, 13 => 9, "a" => 42)); $arr["test"][6]; // $arr["test"][13]; // $arr["test"]["a"]; // 42 4.4 Hằng • • • • • Được định nghĩa cấu trúc define Tên phân biệt hoa thường Phạm vi sử dụng giá trị siêu toàn cục Giá trị phải kiểu vơ hướng Ví dụ define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." 4.5 Cấu trúc điều khiển • Rẽ nhánh với if … else if ($a > $b) { echo "a > b"; $a = $b; } else { echo "a b"; $b; "a