2.MySQL MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.. Vì MySQL là cơ sở dữ liệu tố
Trang 1PHP (PHP: Hypertext Preprocessor) là một ngôn ngữ lập trình kịch bản hay
một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và
có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã
nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới
2.MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn
có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac
OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan
hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ PHP, Perl, và nhiều ngôn ngữ khác, nó làm nơi lưu trữ những thông tin trên các trang web viết bằng PHP hay Perl,
Trang 2Trang 2
3.Memcached
Memcached là một hệ thống lưu trữ bản sao các đối tượng (objects) và dữ liệu được truy cập nhiều lần để tăng tốc độc truy xuất Nó thường được sử dụng để tối ưu hóa việc tải dữ liệu từ cơ sở dữ liệu cho các ứng dụng trên nền web Vào lúc đầu, hệ thống memcached được phát triển bởi Danga Interactive và dùng cho LiveJournal Sau đó memcached trở nên phổ biến và được dùng trên các trang web khác
Memcache là một daemon, có nghĩa là nó chạy như một dịch vụ riêng biệt trên máy tính của bạn Cũng giống như MySQL chạy như một dịch vụ riêng biệt Trong thực tế, để sử dụng memcache trong PHP bạn phải kết nối đến nó, giống như MySQL
Memcached là một công cụ nhằm mục đích phân phối bộ nhớ đệm, công cụ được sử dụng trên nhiều trang web khác Nó thường được dùng để tăng tốc độ trang web bằng cách điều khiển bộ nhớ đệm dữ liệu và các đối tượng trong bộ nhớ RAM để giảm số lần phải được đọc một nguồn dữ liệu bên ngoài
Memcached chạy trên Unix, Windows và hệ điều hành MacOS và phân phối theo một giấy phép về phần mềm miễn phí
Memcaches hoạt động tương tự mô hình truy vấn dữ liệu (data) từ CPU tới các loại bộ nhớ có dạng sau:
CPU <==>Cache Memory <==>RAM <==> HDD (ổ cứng)
4.Ví dụ:
Các trang google.com hay facebook.com là các trang nổi tiếng về số luợt nguời truy cập và tốc độ cực nhanh.Hầu hết các trang web lớn đều đưa công nghệ memcache vào: Youtube, Wikipedia, Flickr, Twitter
Công nghệ memcache được sử dụng khá rộng rãi trên các trang này.Nó có hàng ngàn cổ sever đặt khắp các nước trên thế giớ và có 1 lượng lớn sever cố định 1 nơi để chạy resource còn lại chạy cache ở mỗi nước Nếu IP nước nào truy cập
Trang 3Trang 3
vào nó sẽ lưu cache vào sever nước đó và khi đó nó chỉ việc lôi cái cache đó ra cho người khác sử dụng
5.Các công cụ sọan thảo php
File PHP hoàn tòan có thể xem được bằng các trình soạn thảo sẵn có như
notepad (windows) hay gedit(ubuntu)
Nhưng thuận tiện cho việc xây dựng code PHP,dễ dàng phân biệt các tập lệnh thì nên cài thêm 1 số công cụ hữu ích hỗ trợ đa ngôn ngữ
Trong windows có notepad++, Dreamweaver – là 1 phần mềm hữu ích để chỉnh sửa PHP có kết nối Database
Trong linux (cụ thể là ubuntu) dùng gedit – công cụ cài mặc định cũng sử dụng tương đối tốt cho việc xem code.Còn dùng soạn thảo có thể dùng Eclipse.Hay gPHPedit
6.phpMyAdmin
Cụ thể mà nói thì phpMyAdmin chỉ là tập hợp nhiều trang php, chứ không hẳn
là một chương trình, nhưng đấy là những trang php đã được lập trình sẵn để mình sử dụng cho nó tiết kiệm thời gian
PhpMyAdmin là nơi tạo ra và quản lý danh sách các cơ sở dữ liệu,kết nối tới cơ
sở dữ liệu qua các tập lệnh.Nó dễ dàng thay đổi được database,thêm bớt chỉnh sửa bằng các giao diện đồ họa
PhpMyAdmin tích hợp sẵn SQL (điều khiển database bằng dòng lệnh),
Export/Importer (Sao lưu và backup cơ sở dữ liệu).Empty (xóa hết dữ liệu đã ghi trong các cột database).Drop(Xóa database)
7.Chức năng của Navicat
Navicat (PremiumSoft Navicat) là công cụ quản trị và phát triển cơ sở dữ liệu
ưu việt.Với giao diện thân thiện với người sử dụng, Navicat cho phép bạn nhanh chóng và dễ dàng tạo, sắp xếp, truy cập và chia sẻ thông tin theo cách an toàn và
Trang 4Trang 4
tiện lợi.Navicat hỗ trợ đa kết nối MySQL server, giúp kết nối cục bộ hay từ xa Chức năng của "Navicat MySQL":
- Hỗ trợ tất cả các phiên bản của MySQL
- Hỗ trợ các chức năng của MySQL như Event(sự kiện), View(xem kết quả truy vấn), Trigger, Stored Procedure(tạo các thủ tục lưu trữ)
- Hỗ trợ gõ tiếng Việt Unicode và hệ thống ký hiệu
- Hỗ trợ HTTP Tunnel và SSH Tunnel
- Hỗ trợ Foreign Key (khóa phụ) cho các bảng InnoDB
- Hỗ trợ Foreign Key cho chọn dữ liệu
- Xem trước Form
- MySQL Views Builder
- Nhập dữ liệu thông qua ODBC
- Nhập dữ liệu từ Oracle sang MySQL
- Hỗ trợ nhập dữ liệu đối với 18 định dạng phổ biến bao gồm MS Access, MS Excel, XML, PDF và TXT
- Kết xuất dữ liệu ra MS Access / MS Excel
- Kết xuất dữ liệu sang các định dạng file khác: MS Word, HTML, PDF, TXT, CSV, DBF, XML, …
- Lập lịch cho các tác vụ sao lưu, nhập, xuất, chuyển dữ liệu, lưu truy vấn và dữ liệu
Sự đồng bộ hóa
- Gửi e-mail thông báo đối với các tác vụ đã được lập lịch
- Hỗ trợ Backup và phục hồi cơ sở dữ liệu MySQL
- Hỗ trợ chuyển dữ liệu giữa các cơ sở dữ liệu cụ bộ hay từ xa của MySQL
- Đồng bộ hóa dữ liệu và cấu trúc dữ liệu
- Lập báo cáo với tính năng Report Builder ảo
- Kết xuất báo cáo ra các định dạng như PDF, Excel, HTML…
- Xem báo cáo với tính năng Report Viewer
Trang 59.Cài đặt XAMPP trên windows
Do trên máy quen dùng APPSERV nên cài XAMPP trên máy ảo
Truy cập trang chủ http://www.apachefriends.org/en/xampp.html và chọn bản XAMPP cho Windows và tải về Bản hiện tại 1.7.7
Sau khi tải về cài đặt như các phần mềm thông thường
Sau đó chương trình cài đặt sẽ cài đặt XAMPP lên máy tính
Quá trình cài đặt hoàn tất
Trang 6Trang 6
Mặc định User/pass đăng nhập phpMyAdmin là root/ mật khẩu bỏ trống
10.Cài đặt PHP- mySql trên linux
Tùy từng phiên bản linux có các cài đặt khác nhau đôi chút.Có thể tải sẵn bản xampp-linux-1.7.4.tar.gz dành cho linux giải nén ra và chạy lệnh sh trong thư mục bin để cài đặt và thiết lập các thông số.Cách này khá đơn giản và dễ thực hiện.Các chương trình được ghi nhận tại thư mục đã giải nén
Trên máy sử dụng ubuntu10.04 và có kết nối internet,việc cài đặt qua dòng lệnh cũng nhanh chóng và dễ dàng.Tự tay có thể cấu hình toàn bộ các thông số của php-mySQL.Cài đặt thông qua Terminal
Cài đặt mySQL sudo apt-get install mysql-server mysql-client
User mặc định là root.Trong qúa trình cài đặt chương trình sẽ yêu cầu pass cho root
Cài đặt Apache2 sudo apt-get install apache2
Khi cài xong,truy cập trang http://localhost hay http://127.0.0.1 sẽ hiển thị:
Cài đặt PHP5 sudo apt-get install php5 libapache2-mod-php5
Cài đặt phpMyAdmin sudo apt-get install phpmyadmin
Sau đó config lại file apache2.conf qua lệnh sau gksudo gedit
/etc/apache2/apache2.conf
Thêm vào dòng “Include /etc/phpmyadmin/apache.conf” vào cuối và restart lại apache bằng lệnh sudo /etc/init.d/apache2 restart
Trang 7Trang 7
Quá trình cài đặt hoàn tất.Thư mục web root nằm trong /var/www
Muốn truy cập nơi này cần có tài khỏan root (ubuntu).Có thể đổi thư mục
webroot bằng cách thay đổi thông số file /etc/apache2/sites-enabled/000-default qua lệnh gksu gedit /etc/apache2/sites-enabled/000-default
11.Đưa mã nguồn lên web server
Nếu cài trên máy tính cá nhân dùng localhost thì ta chỉ việc copy mã nguồn thẳng vào trong thư mục host (www) rồi chạy theo địa chỉ
Để đưa mã nguồn lên web sever ta truy cập vào trang quản lý mà nhà cung cấp dịch vụ tạo cho
Trang 8Trang 8
Truy cập vào phần File Manager và chọn vào thư mục public_html Upload mã nguồn vào thư mục này sẽ được hiển thị trên trang web
Chọn vào nơi Upload,chọn dữ liệu cần Upload và đợi dữ liệu upload lên host
Ở đây có điều đáng chú ý là CMOD file và thư mục
Read(4) – quyền đọc dữ liệu,Write(2) – quyền ghi dữ liệu, Execute(1) – quyền thực thi dữ liệu
Thông thường,CMOD 755 với thư mục và 644 với file
Với mã nguồn,trước khi upload nên Zip lại rồi upload file zip lên hosting và khi upload xong giải nén ta sẽ tạo được toàn bộ mã nguồn cần upload lên host
Trang 9Trang 9
1 cách thông dụng là sử dụng phần mềm chuyên dụng FileZilla là 1 trong
những phần mềm thông dụng cho việc này
Với phần mềm này,việc download/upload dữ liệu chỉ việc kéo thả giữa 2 vùng cửa sổ 1 và 2.Các thao tác cmod file trên host khá dễ dàng trên vùng 2( tương tự như trên Cpanel quản lý của nhà cung cấp
12.Cài đặt SVN server và client
Hệ thống SVN (http://subversion.tigris.org/ ) là một hệ thống quản lý phần tài nguyên của một dự án Hệ thống có khả năng tự cập nhật, so sánh và kết hợp tài nguyên mới vào phần tài nguyên cũ
SVN client là công cụ đắc lực để quản lý mã nguồn, bao gồm các thao tác chính
là thêm, bớt, sửa, xóa, checkin, checkout, so sánh phiên bản
Mục tiêu chính của SVN :
Quản lý các phiên bản của một file nào đó (bất kỳ là file text, binary, ) vào
server SVN Quá trình kiểm tra sẽ được SVN sẽ kiểm tra tại 2 nơi là thư mục dự
án (nơi thực hiện dự án) và thông tin dự án được lưu trữ trên server
Khi kiểm tra file hiện hành có sự thay đổi so với trên server SVN là SVN sẽ tạo một phiên bản mới lưu lại(khi người dùng update -> commit) Việc quản lý phiên bản sẽ giúp việc phục hồi lại các version trước đó dể dàng mà không cần
Trang 10Trang 10
phải lưu backup và thời gian trước sau, Khi lưu từng phiên bản sẽ cho phép lưu kèm theo các thông tin liên quan như ai là người thay đổi , thay đổi chổ nào, nội dung giúp cho việc quản lý source nguồn một cách rõ ràng Việc lưu trữ version SVN sự dụng các thuật toán so sánh và chỉ lưu trữ các thành phần khác nhau của mỗi verision nên dung lượng lưu trữ sẽ được tối ưu so với việc backup từng file
Ví dụ như trên Google Site :
Cài đặt trên Windows :
Với Notepad++ vào phần plugin và thêm vào Tortoise SVN
Eclipse cần phải cài đặt nó bằng cách:
Vào menu Help > Install New Software Chọn repository “Helios – http://download.eclipse.org/releases/helios” nếu bạn đang sử dụng phiên bản Helios Nó có thể là phiên bản Gallieo hoặc Indigo
Đợi hệ thống fetching các phần mở rộng
Trang 11Trang 11
Bạn chọn phần Collaborator > SVN Chú ý thường ta chọn phiên bản SVN connector mới nhất
- Cài đặt trên Linux (UBUNTU
Cài đặt subversion qua lệnh sudo apt-get install subversion libapache2-svn
Tạo group sử dụng cho các user của subversion:
sudo addgroup svn #tạo tên svn
sudo adduser www-data svn
sudo adduser phamdinhcuong svn # user hiện tại đang login
Tạo cấu trúc cho subversion: Chuyển quyển sở hữu cho nhóm svn
cd /home/phamdinhcuong/
mkdir -p svn/example &&cd svn/
svnadmin create example &&sudo chmod -R g+wrx example/
sudo chown -R :svn example/ &&ls -g example/
Khi đã chuyển quyền sở hữu cho nhóm svn,những user thành viên sẽ có quyền truy xuất vào thư mục svn-trunk Đặc biệt user www-data là user của apache2 cũng có thể truy xuất vào svn-trunk
Tạo danh sách username và password cho các người dùng subversion:
sudo htpasswd -c /etc/subversion/passwd <first username>
Khi tạo user hệ thống sẽ yêu cầu nhập mật khẩu mới cho user đó
sudo htpasswd /etc/subversion/passwd <second username>
cat /etc/subversion/passwd
Tạo URL (http) cho subversion:
Thêm vào cuối file: sudo vim /etc/apache2/mods-enabled/dav_svn.conf
<Location /svn/example>
DAV svn
Trang 12Reload lại apache2 server: sudo /etc/init.d/apache2 force-reload
Import project lên subversion:
Vào thư mục chứa thư mục project trong teminal: cd
/home/phamdinhcuong/tmp/
Thực hiện câu lệnh import: svn import myproject/ http://localhost/svn/example
Thực hiện câu lệnh checkout để kiểm tra kết quả: svn co
http://localhost/svn/example
Cài đặt trac tích hợp vào svn
Cài đặt truc vào Ubuntu
http://trac.edgewall.org/wiki/TracUbuntuMultipleProjects
Cài đặt Database cho trac với sqlite: sudo apt-get -y install python-pysqlite1.1
Tạo một thư mục: trac-admin /home/phamdinhcuong/trac/example initenv
Điền các thông tin yêu cầu:
- Project Name: example
- Database connection string: <mặc định là sqlite:db/trac.db>
- Repository type: <Lấy giá trị mặc định là svn>
Trang 13Trang 13
- Path to repository: <Đường dẫn đến nơi chứa svn >
Khởi động standalone server: tracd port 8000
/home/phamdinhcuong/trac/example
Để có thể chạy trac trên apache2 cần phải cài đặt thêm các thư viện python: sudo apt-get install libapache2-mod-python libapache2-mod-python-doc
mod-13 Phân biệt POST và GET ?
Đây là 2 giao thức dùng để truyền biến dữ liệu trong php hay nói đúng hơn là phương thức truyền dữ liệu từ Form truyền đến trang PHP được quy định bởi thuộc tính METHOD của Form
$_GET : lấy dữ liệu trong form khi phương thức truyền là GET
$_POST : lấy dữ liệu trong form khi phương thức truyền là POST
Về hiển thị: Post gửi đi theo 1 phương thức gần như là phương thức ẩn,các giá
trị của biến được ẩn đi trên trình duyệt và rất khó có thể tìm được trừ các phần mềm chuyên dụng có thể bắt được các post Phương thức get,biến sẽ được hiển thị trên thanh địa chỉ
Về giới hạn: phương thức GET là chuỗi query bị hạn chế về chiều dài.còn
Trang 14Trang 14
Những thông tin được lưu trữ trong cookie hoàn toàn phụ thuộc vào website trên server Mỗi website có thể lưu trữ những thông tin khác nhau trong cookie Cookie được tạo ra bởi website và gởi tới browser, do vậy 2 website khác nhau (cho dù cùng host trên 1 server) sẽ có 2 cookie khác nhau gởi tới browser
Ngoài ra, mỗi browser quản lý và lưu trữ cookie theo cách riêng của mình, cho nên 2 browser cùng truy cập vào 1 website sẽ nhận được 2 cookie khác nhau
Xử lý cookies trong php
Thiết lập cookie:Thiết lập cookie ta sử dụng:
Setcookie("tên cookies","giá trị", thời gian tồn tại)
Tên cookie là tên mà đặt cho phiên làm việc
Giá trị là thông số của tên cookie
Ví dụ: Setcookie("username","admin", time() +3600)
Sử dụng cookie: sử dụng cú pháp:
$_COOKIE["tên cookies"]
Hủy Cookie:Để hủy 1 cookie đã được tạo ta có thể dùng 1 trong 2 cách sau:
setcookie("Tên cookie") - Gọi hàm setcookie với chỉ duy nhất tên cookie mà thôi
Setcookie("tên cookies","giá trị"time()-60 - Dùng thời gian hết hạn cookie là thời
điểm trong quá khứ
15 Session dùng để làm gì?
Session dùng để quản lý người sử dụng trong khoảng thời gian người sử dụng giao tiếp với 1 ứng dụng Một session được bắt đầu khi người sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khi người sử dụng thoát khỏi ứng dụng Mỗi session sẽ có được cấp một định danh (ID) khác nhau và nội dung được lưu trong thư mục thiết lập trong file php.ini (tham số session.save_path)
Thiết lập session: sử dụng cú pháp: session_start()
Đăng ký 1 giá trị session: session_register("Name")