Thứ Tư, 19 tháng 2, 2014

Tài liệu Kỹ thuật lập trình căn bản pdf

Bởi vì Apache không thể chia sẻ cùng một cổng với một ứng dụng TCP/IP khác, ta phải dừng
hoặc dỡ bỏ các dịch vụ nào đó trước. Điều này bao gồm cả các web server khác và các sản phẩm
firewall như Blackile.Nếu ta chỉ có thể chạy Apache khi dừng các dịch vụ này, hãy cấu hình lại
Apache hoặc các sản phẩm khác sao cho chúng không chung cổng listen TCP/IP.Có lẽ ta phải
chạy dòng lệnh "netstat -an" để xem cổng nào đã được sử dụng.
2.5_Cấu hình Apache trên Windows
Apache được cấu hình bởi các file trong thư mục conf . Đây cũng là các file được sử
dụng để cấu hình cho phiên bản Unix nhưng cũng có một số chỉ dẫn khác trên phiên bản Apache
cho Windows.
Bắt đầu cấu hình Apache server bằng cách xem trước httpd.conf và các lời hướng dẫn của nó.
Mặc dù các file access.conf và srm.conf đều tồn tại, đây là các file cũ thường không được sử dụng
bởi hầu hết các nhà quản trị , và bạn cũng không thấy những lời hướng dẫn ở đây.
httpd.conf chứa tài liệu thật tuyệt vời, bằng cách theo các hướng dẫn cấu hình mặc định được
khuyên dùng khi bắt đầu với Apache server. Bắt đầu bằng cách đọc các chú thích này để hiểu file
cấu hình ,và thực hiện một số nhỏ các thay đổi,bắt đầu Apache trong một màn hình console với
mỗt thay đổi. Nếu bạn gặp phải lỗi, thật dễ dàng để sao lưu để cấu hình những gì đã làm lúc cuối
cùng. Bạn sẽ có một ý tưởng tốt để hiểu thay đổi nào gây nên lỗi cho server.
Những điều khác nhau chính trong Apache cho Windows là:
• Bởi vì Apache cho Windows là đa luồng, nó không sử dụng một tiến trình riêng biệt cho
mỗt yêu cầu như Apache trên Unix. Thay vào đó chỉ có 2 tiến trình đang chạy: một tiến
trình cha và một tiến trình con để đón chờ các yêu cầu. Trong tiến trình con mỗi yêu cầu
được đón chờ bởi một luồng riêng biệt. Bởi vậy,"cách thức"-các lời chỉ dẫn quản lý là
khác nhau:
o MaxRequestsPerChild - Giống như chỉ thị Unix, nó điều khiển có bao nhiêu yêu
cầu mà một tiến trình sẽ phục vụ trước khi tồn tại. Tuy nhiên, không giống như
Unix, một tiến trình sẽ phục vụ tất cả các yêu cầu cùng một lúc, không chỉ một,
bởi vậy nếu điều này được lập, sẽ có một số lớn được sử dụng. Điều khuyên dùng
là mặc định, MaxRequestsPerChild 0, không làm cho tiến trình kết thúc mãi mãi.
o ThreadsPerChild - Chỉ thị này là mới, và chỉ cho server biết có bao nhiêu luồng
nó sẽ dùng. Đây là con số lớn nhất các kết nối mà server có thể đón chờ cùng một
lúc; phải chắc chắn và thiết lập số này đủ lớn cho trang của bạn nếu bạn có nhiều
việc thành công. Giá trị mặc định khuyên là ThreadsPerChild 50.
• Các chỉ thị chấp nhận tên file làm đối số bây giờ phải dùng tên file của windows thay vì
như unix trước đây.Tuy nhiên, bởi vì Apache sử dụng tên kiểu cách Unix cục bộ, bạn
phải sử dụng dấu gạch chéo trước, không phải là dấu gạch chéo sau. Các tên chữ cái của
ổ đĩa có thể được dùng, nếu bị bỏ sót, ổ đĩa với khả năng thực thi của Apache sẽ được
thừa nhận.
• Apache cho Windows có khà năng load các module trong thời gian chạy mà không cần
biên dịch lại server. Nếu Apache được biên dịch một cách thông thường, nó sẽ cài đặt
một số các module tuỳ chọn trong thư mục \module. Để kích hoạt điều này, hoặc các
module khác, chỉ thị LoadModule phải được dùng. Ví dụ, để kích hoạt module trạng thái,
ta làm như sau ( thông tin thêm về các chỉ thị kích hoạt trạng thái trong file access.conf):
LoadModule status_module modules/mod_status.so
• Thông tin về việc tạo các module có khả năng tải cũng có sẵn. Chú ý một vài module của
các hãng thứ 3 có thể được phát hành với các kiểu cách đặt tên cũ,

4
ApacheModuleFoo.dll. Thường xuyên thiết lập lệnh LoadModule theo hướng dẫn trong
các tài liệu của các hãng thứ 3.
• Apache cho Windows phiên bản 1.3 được thực hiện trong các cuộc gọi đồng bộ. Điều
này gây ra một vấn đề to lớn cho các tác CGI , người sẽ không thấy các kết quả không
được đệm được gửi trực tiếp tới trình duyệt. Điều này không được mô tả cho CGI trong
Apache, nhưng nó có tác động hiệu quả với cổng Windows. Apache 2.0 được cải tiến để
thực hiện các tình trạng không đồng bộ được mong chờ, và chúng ta hi vọng tìm ra rằng
sự thực thi trong Win NT/2000 cho phép CGI được đối xử như tài liệu đã được cung cấp.
• Apache cũng có thể nạp các phần mở rộng của ISAPI (ví dụ: Internet Server
Applications), như thể chúng được dùng bởi Microsoft's IIS, và các server Windows
khác. Chú ý rằng Apache không nạp các bộ lọc ISAPI.
Chạy Apache trong một Console Window
Biểu tượng menu Start và trình quản lý dịch vụ NT có thể cung cấp một giao diện đơn
giản cho việc quản trị Apache. Nhưng một số trường hợp thì dễ dàng hơn khi làm việc từ dòng
lệnh.
Khi làm việc với Apache ta phải biết bằng cách nào nó sẽ tìm các file cấu hình. Ta có thể chỉ ra
một file cấu hình cụ thể trên dòng lệnh qua hai cách:
• -f chỉ ra một đường dẫn tới một file cấu hình chuyên biệt:
apache -f "c:\my server\conf\my.conf"
apache -f test\test.conf
• -n chỉ ra file cấu hình của một dịch vụ Apache đã được cài đặt (Apache 1.3.7 và sau này):
apache -n "tên dịch vụ "
Trong các trường hợp này, ServerRoot thật sự sẽ được thiết lập trong file cấu hình.
Nếu ta không chỉ ra một tên file cấu hình với -f hoặc -n, Apache sẽ sử dụng tên file được biên
dịch trong server, thông thường là "conf/httpd.conf". Gọi Apache với chuyển dịch –V sẽ hiển thị
giá trị này được gán nhãn là SERVER_CONFIG_FILE. Apache tiếp đến sẽ định rõ ServerRoot
của nó bằng cách cố gắng thực hiện theo trình tự như sau:
• Một chỉ thị ServerRoot thông qua một chuyển tác -C .
• Chuyển tác -d trên dòng lệnh.
• Thư mục hiện tại đang làm việc.
• Một đầu vào đăng ký , được tạo nếu bạn đã thực hiện cài đặt nhị phân.
• Server root đã được biên dịch trong server.
Server root được biên dịch trong server thông thường là "/apache". Thực hiện apache với
chuyển tác -V sẽ hiển thị giá trị này được gán nhãn là HTTPD_ROOT.
Khi được thực hiện từ menu start, Apache thông thường bỏ qua các đối số, bởi vậy sử dụng đầu
vào nơi đăng ký là kỹ thuật được yêu thích hơn cho console Apache.
Trong khi cài đặt nhị phân, một khoá đăng ký sẽ được cài đặt, ví dụ:
HKEY_LOCAL_MACHINE\Software\Apache Group\Apache\1.3.13\ServerRoot
Khoá này được biên dịch trong server và có thể cho phép bạn kiểm tra các phiên bản mới mà
không gây nên hậu quả cho phiên bản hiện tại. Dĩ nhiên ta phải cẩn thận không cài đặt phiên bản
mới lên trên phiên bản cũ trong hệ thống file.

5
Nếu bạn không thực hiện cài đặt nhị phân khi đó Apache sẽ trong một số tình huống gây lỗi về
việc thiếu khoá đăng kí. Cảnh báo này có thể bỏ qua nếu có thể tìm thấy các file cấu hình của nó.
Giá trị của khoá này là thư mục "ServerRoot" , chứa thư mục conf . Khi Apache bắt đầu, nó sẽ
đọc file httpd.conf từ thư mục này. Nếu file này chứa một chỉ thị ServerRoot khác với thư mục
mà có khoá trước đó, Apache sẽ quên khoá đăng kí và sử dụng thư mục từ file cấu hình. Nếu bạn
copy thư mục Apache hoặc các file cấu hình tới một vị trí mới điều quan trọng là ta cập nhật thư
mục ServerRoot trong file httpd.conf tới vị trí mới.
Để chạy Apache từ dòng lệnh như là một ứng dụng console, sử dụng lệnh sau:
apache
Apache sẽ thực thi và sẽ còn chạy cho đến khi ta nhấn phím ctrl-C.
Điều khiển Apache trong một màn hình Console
Ta có thể chỉ cho Apache trong khi đang chạy phải dừng bằng cách mở một màn
hình console khác và chạy lệnh:
apache -k shutdown
Chú ý: Tuỳ chọn này chỉ có thể có hiệu lực với Apache 1.3.3 và sau này.
Với các phiên bản trước, bạn phải dùng ctrl-C trong màn hình console để tắt server.
Từ phiên bản 1.3.3 tới 1.3.12, điều này sẽ thay cho việc nhấn ctrol-c trong một màn hình console
Apache, bởi vì nó cho phép Apache kết thúc bất kỳ các giao dịch hiện thời và thu gọn nhanh
chóng.
Tới phiên bản 1.3.13 khi nhấn Control-C trong màn hình đang chạy sẽ làm sạch Apache khá tốt,
và bạn có thể dùng –k stop như là một bí danh cho –k shutdown .Các phiên bản trước đó không
hiểu –k stop.
Ta cũng có thể chỉ cho Apache khởi động lại. Điều này làm cho nó đọc lại các file cấu hình. Bất
kỳ giao dịch nào trong phát triển đều được phép hoàn thiện mà không cần ngắt quãng. Để khởi
động lại Apache, chạy:
apache -k restart
Chú ý: Tuỳ chọn này chỉ có được trong Apache 1.3.3 và sau này. Với các phiên bản trước,
ta cần phải dùng Control-C trong màn hình Apache console để tắt server, và khởi động lại
với lệnh của Apache.
Chức năng khác rất hữu dụng là tuỳ chọn kiểm tra các file cấu hình .Để kiểm tra các file cấu hình
, chạy:
apache -t
Đây là sự thay đổi sau này đặc biệt hữu dụng với các file cấu hình trong khi Apache thậm chí
đang chạy. Ta có thể thực hiện một số thay đổi, khẳng định là cú pháp lệnh "apache -t" là chính
xác, kế đến khởi động lại Apache với "apache -k restart". Apache sẽ đọc lại các file cấu hình, cho
phép bất kỳ giao dịch nào trong sự tiến triển để hoàn thành mà không phải ngắt quãng.Bất kỳ
yêu cầu mới nào cũng sẽ được phục vụ sử dụng cấu hình mới.
Chú ý: Với những người quen thuộc với Apache cho Unix các lệnh này cung cấp một sự tương
đương với Windows để kill -TERM pid và kill -USR1 pid. Tuỳ chọn dòng lệnh được dùng, -k, đã
được chọn như là một nhắc nhở lệnh "kill" được sử dụng trong Unix.
II_HỆ QUẢN TRỊ CSDL MySQL
MySQL, cơ sở dữ liệu SQL mã nguồn mở thông dụng nhất , được cung cấp bởi MySQL
AB. MySQL AB là một công ty thương mại thực hiện việc tạo ra các dịch vụ cung cấp cho
doanh nghiệp đó xung quanh cơ sở dữ liệu MySQL.

6
1_MySQL là một hệ quản trị CSDL.
Một CSDL là một tập hợp cấu trúc của dữ liệu. Nó có thể là bất kỳ một cái gì từ một
danh sách bán hàng đơn giản cho tới gallery ảnh hoặc số lượng lớn các thông tin trong một mạng
doanh nghiệp. Để thêm, truy nhập và xử lý dữ liệu được lưu trữ trong một CSDL máy tính, ta
cần một hệ quản trị CSDL như MySQL. Từ khi các máy tính thực hiện tốt việc xử lý lượng lớn
dữ liệu, quản trị CSDL đóng một vai trò chính yếu trong việc tính toán, như là các công cụ đơn
lẻ, hoặc một phần của các ứng dụng khác.
2_MySQL là một hệ quản trị CSDL quan hệ.
Một CSDL quan hệ lưu trữ dữ liệu trong trong một số bảng chuyên biệt tốt hơn là việc
đặt toàn bộ dữ liệu trong một nơi lưu trữlớn. Điều này làm tăng thêm tốc độ và sự linh hoạt. Các
bảng được liên kết với nhau bằng cách định nghĩa các quan hệ tạo cho nó khả năng kết nối dữ
liệu từ một vài bảng khác nhau theo yêu cầu. SQL là một phần của MySQL trong “Structured
Query Language”- ngôn ngữ chuẩn thông dụng nhất được dùng để truy nhập các CSDL.
3_MySQL là một phần mềm mã nguồn mở
Mã nguồn mở có nghĩa là nó có thể được sử dụng bởi bất kỳ ai cho mục đích sử dụng
hoặc thay đổi nào. Bất kỳ ai cũng có thể download MySQL từ internet và sử dụng nó mà không
phải trả bất kỳ một thứ gì. Bất kỳ ai có ý thích cũng có thể nghiên cứu mã nguồn và thay đổi
chúng theo yêu cầu của riêng mình. MySQL dùng GPL (GNU General Public License) ‘http://
www.gnu. Org’, để định ra ta có thể được làm gì và không được làm gì với phần mềm trong các
hoàn cảnh khác nhau. Nếu ta cảm thấy khó chịu với GPL hoặc muốn nhúng MySQL trong một
ứng dụng thương mại thì ta có thể mua một bản quyền thương mại từ các nhà cung cấp.
4_Lý do dùng MySQL
MySQL rất nhanh, đáng tin cậy và dễ dàng để sử dụng. Nếu điều đó là cái mà bạn đang
mong muốn, bạn có thể dùng thử nó. MySQL cũng có một tập các đặc điểm rất thiết thực được
phát triển trong một sự hợp tác rất chặt chẽ với người sử dụng. Bạn có thể đem so sánh một cách
công phu giữa MySQL và một số hệ quản trị CSDL khác trong trang web chấm điểm của nhà
cung cấp.
MySQL đã được phát triển một cách sáng tạo để nắm bắt các CSDL rất lớn và nhanh hơn rất
nhiều các giải pháp hiện tại và đã thành công trong việc được sử dụng trong các môi trường sản
xuất đòi hỏi cao trong vài năm. Thông qua quá trình phát triển không ngừng, ngày nay, MySQL
cung cấp một tập các hàm rất hữu ích và dồi dào. Sự kết nối, tốc độ và sự bảo mật đã làm cho
MySQL trở nên thích ứng cao cho việc truy cập các CSDL trên internet.
5_Các đặcđiểm về mặt kỹ thuật của MySQL
MySQL là một hệ thống client/server bao gồm một SQL server đa luồng cho phép hỗ trợ
nhiều thiết bị đầu cuối khác nhau, một vài chương trình client khác nhau và các thư viện, các
công cụ quản trị và một vài giao diện lập trình.
Các nhà cung cấp cũng cung cấp MySQL như là một thư viện đa luồng mà ta có thể kết nối trong
ứng dụng của ta để đạt tới một sản phẩm nhỏ hơn, nhanh hơn, dễ dàng quản lý hơn.
MySQL có nhiều các phần mềm được phân phối có sẵn.
Điều này thật sự thuận tiện cho ta trong việc tìm ứng dụng yêu thích của ta hoặc ngôn ngữ hỗ trợ
MySQL.

7
II_Hypertext Preprocessor - PHP
1_Khái niệm PHP
PHP ( một cách chính thức là “PHP: Hypertext Preprocessor”) là một ngôn ngữ script
được nhúng bên server HTML.
Ví dụ:
<html>
<head>
<title>Example</title>
</head>
<body>

<?php
echo "Hi, I'm a PHP script!";
?>

</body>
</html>
Chú ý về sự khác nhau của một script được viết bằng các ngôn ngữ khác nhau giống như perl
hoặc C – thay vì viết một chương trình với rất nhiều lệnh để xuất ra HTML, ta viết một script
HTML với một số mã nhúng để thực hiện một công việc gì đó ( trong trường hợp này, đưa ra
một số văn bản) . Mã PHP được đóng kín trong các tag bắt đầu và các tag kết thúc đặc biệt cho
phép ta nhảy vào và nhảy ra chế độ PHP.
Điều nhận ra PHP từ những gì giống Javascript bên phía Client là mã chương trình được thực
hiện bên phía server. Nếu ta đã có một script giống như trên bên phía server của ta, client sẽ
nhận các kết quả từ việc chạy script đó, mà không còn cách nào để xác định điều gì bên dưới mã
lệnh. Thậm chí ta có thể cấu hình webserver của ta để xử lý tất cả các file HTML của ta với PHP,
và vì vậy không còn cách nào mà những người sử dụng có thể biết điều gì ta lên kế hoạch.
2_PHP có thể làm được những gì ?
Tại hầu hết các mức cơ bản nhất, PHP có thể làm bất kỳ điều gì mà các chương trình CGI
khác có thể làm, ví dụ như tập hợp các dạng dữ liệu, sinh ra nội dung các trang web động, hoặc
gửi và nhận các cookie.
Có lẽ đặc điểm mạnh nhất và thuận tiện nhất trong PHP là nó hỗ trợ khả năng rộng lớn các cơ sở
dữ liệu. Viết một trang web có tương tác cơ sở dữ liệu trở nên đơn giản một cách đáng kinh
ngạc. Các cơ sở dữliệu dưới đây hiện tại đã được hỗ trợ :
Adabas D Ingres Oracle (OCI7 and OCI8)
dBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm
PHP cũng hỗ trợ cho việc “nói chuyện” với các dịch vụ khác sử dụng các thao tác như
IMAP,SNMP,NNTP,POP3,HTTP và vô số giao thức khác. Ta cũng có thể mở các socket mạng
mới và tương tác sử dụng các giao thức khác.

8
3_Bản tóm tắt lịch sử của PHP
PHP đã được nghĩ đến trong khoảng cuối năm 1994 bởi Rasmus Lerdorf. Các phiên bản
không phát hành trước đó đã được dùng trên chính trang chủ của anh ta để theo dõi ai đang tìm
bản lý lịch trực tuyến của anh ta. Phiên bản đầu tiên được dùng bởi những người khác đã có sẵn
trong khoảng thời gian trước năm 1995 và đã được biết đến như là các công cụ trang chủ cá
nhân. Nó bao gồm một bộ máy phân tích từ loại một cách đơn giản mà chỉ được hiểu là một số ít
các macro đặc biệt và một số các tiện ích mà được dùng một cách thông dụng trên các trang chủ
trước đó. Bộ phân tích từ loại đã được viết lại vào giữa năm 1995 và có tên là PHP/FI phiên bản
2. FI có được lạ do từ một gói khác của Rasmus đã được viết lại được biên dịch định dạng dữ
liệu HTML. Anh ta đã kết hợp các script các công cụ trang chủ cá nhân với trình biên dịch form
và thêm vào hỗ trợ mSQL và PHP/FI đã ra đời. PHP/FI đã phát triển lên một cách đáng kinh
ngạc và mọi người đã bắt đầu đóng góp mã cho nó.
Để thống kê một cách nghiêm khắc là một điều phức tạp, nhưng ước lượng khoảng cuối năm
1996 PHP/FI đã được dùng trên ít nhất 15000 trang web trên khắp thế giới. Khoảng giữa năm
1997 con số này đã tăng lên trên 50000 trang web. Giữa năm 1997 cũng đã thấy một sự thay đổi
trong việc phát triển PHP. Nó thay đổi từ việc sở hữu dự án cưng của Rasmus rằng một nhóm
người đã đóng góp vào, để có thêm nhiều sự thống nhất có trật tự của nhóm sao cho đạt hiệu quả
cao.
Bộ phân tích từ loại đã được viết lại một cách hỗn tạp bởi Zeev Suraski và Andi Gutmans và bộ
phân tích từ loại mới này đã định hình nền tảng cho phiên bản 3 của PHP. Nhiều mã tiện ích từ
PHP/FI đã được dùng cho PHP3 và nhiều trong số đó đã được viết lại một cách hoàn toàn.
Phiên bản PHP4 dùng bộ máy scripting Zend để phân phối sự thực hiện cao cấp hơn, hỗ trợ một
mảng các thư viện và các mở rộng của các hãng thứ 3 rộng rãi hơn và chạy như là một module
server địa phương với toàn bộ các web server được ưa chuộng.
Ngày nay, PHP 3 hoặc PHP 4 hiện tại chuyên chở một số lượng các sản phẩm thương mại như
web server Red Hat’s Stronghold. Ngày nay, theo ước lượng thì PHP được dùng trong khoảng
5.1 triệu trang trên toàn thế giới và hơn cả IIS server của Microsoft ( khoảng 5.03 triệu trang).

9
4_Cài đặt PHP trên Windows
Cài đặt trên các hệ thống Windows 98/Me/NT/2000/XP
Có hai cách chính để cài đặt PHP cho Windows: Cách thông thường hoặc bằng cách sử dụng
chương trình InstallShield installer.
4.1_Windows InstallShield
Trình cài đặt PHP trênWindows có trên trang web tại www.php.net. Nó cài đặt phiên bản
CGI của PHP và, cho IIS, PWS, và Xitami, cấu hình web server tốt.
Chú ý rằng phiên bản này không cài đặt bất kỳ phần mở rộng hoặc server api phiên bản của PHP
nào.
Cài đặt HTTP server mà ta đã chọn trên hệ thống của ta và đảm bảo rằng nó hoạt động tốt.
Chạy trình cài đặt và theo các hướng dẫn được cung cấp bởi trình cài đặt tự động. Có hai loại cài
đặt được hỗ trợ, standard, cung cấp các giá trị mặc định cho tất cả các thiết lập có thể , và
advance, yêu cầu một số câu hỏi để hoàn tất quá trình cài đặt.
Trình cài đặt tự động hội tụ đủ các thông tin để thiết lập file php.ini và cấu hình webserver để sử
dụng PHP.
Một khi tiến trình cài đặt được hoàn thành, trình cài đặt sẽ báo tin cho ta nếu ta muốn khởi động
lại hệ thống , khởi động lại server, hoặc chỉ bắt đầu dùng PHP.
4.2_Hướng dẫn cách cài đặt từ file nhị phân zip trên Windows
Phần hướng dẫn cài đặt này sẽ giúp ta cài đặt và cấu hình PHP trên các webserver
Windows 9x/Me/NT/2000/XP .Phần hướng dẫn này có thể phù hợp với các phiên bản của :
Apache 1.3.x
Apache 2.0.x (bản thí nghiệm)
OmniHTTPd 2.0b1 và trên nữa
Oreilly Website Pro
Xitami
Netscape Enterprise Server, iPlanet
PHP 4 cho Windows với hai cách thức thực hiện - một chương trình CGI có khả năng thực thi
(php.exe), và một vài module SAPI (ví dụ php4isapi.dll). Dạng sau thì mới đối với PHP4 và
cung cấp cải tiến một cách đáng kể các thao tác và một vài chức năng mới.Tuy vậy, chú ý rằng
các module SAPI không thực sự được xem như là sản phẩm chất lượng cao. Trong trường hợp cá
biệt, với module ISAPI, bạn sẽ gặp phải những vấn đề có tính đăc biệt trầm trọng trên các nền cũ
hơn .
Lý do cho điều này là các module PHP SAPI đang sử dụng phiên bản luồng an toàn cho mã
PHP, điều này mới so với PHP,và cũng chưa được kiểm nghiệm và kiểm chứng một cách đầy đủ
để có thể xem như là hoàn toàn vững chắc và ổn định, và sự thực là cũng có một số nhỏ lỗi .Mặt
khác, một vài người đưa ra báo cáo các kết quả rất tốt với các module,và có rất ít các báo cáo có
vấn đề với phiên bản module Apache.
Nếu ta chọn một trong các module SAPI và dùng Windows 95, hãy chắc rằng ta phải tải bản cập
nhật DCOM tại địa chỉ:
http://download.microsoft.com/msdownload/dcom/95/x86/en/dcom95.exe"
Cho module ISAPI, yêu cầu một bản ISAPI 4.0 tương thích Web server
(đã được kiểm tra trên IIS 4.0, PWS 4.0 và IIS 5.0). IIS 3.0 không được hỗ trợ; Ta sẽ phải tải về
và cài đặt WinNT4.0 và tuỳ chọn IIS 4.0 nếu ta muốn PHP hỗ trợ .

10
Các bước dưới đây sẽ thao tác trên tất cả các trình cài đặt trước khi có các chỉ dẫn rõ ràng với
server.
Giải nén file được tải vào một thư mục nào đó.
C:\PHP\ là tốt nhất để bắt đầu.
Bạn cần phải chắc rằng các file dlls mà php dùng có thể được tìm th ấy một cách dễ dàng.
Các dlls rõ ràng sẽ liên quan đến loại webserver nào ta dùng và nơi nào ta muốn chạy php như là
một cgi hoặc là một module server. Php4ts.dll thường xuyên được sử dụng. Nếu ta đang dùng
một server module ( ví dụ isapi hoặc apache) khi đó ta cần các file dlls liên quan từ thư mục sapi
. Nếu ta đang sử dụng các php dll mở rộng khi đó ta sẽ cần chúng . Để chắc rằng các dll có thể
được tìm thấy, ta có thể copy chúng vào thư mục hệ thống (winnt/system hoặc windows/system)
hoặc bạn phải chắc rằng chúng chứa trong cùng một thư mục với thư mục có chứa php thực thi
hoặc dll webserver của ta (ví dụ php.exe, php4apache.dll).
Chép file php.ini vào thư mục Windows hoặc Winnt, winnt4.
Biên tập file php.ini :
Ta cần phải thay đổi thiết lập 'extension_dir' tới thư mục cài đặt php hoặc nơi ta đặt các file
'php_*.dll', ví dụ c:\php
Đặt 'doc_root' chỉ tới webservers document_root. Ví dụ: c:\apache\htdocs hoặc c:\webroot
Chọn các mở rộng ta muốn được tải khi php,chú ý một số mở rộng đã được tạo ra trong các
phiên bản của Windows.
Ta có thể bỏ các dấu chú thích trên các dòng như 'extension=php_*.dll' trong php.ini để tải các
mở rộng.
Chú ý rằng thư mục mibs được cung cấp với phát hành của Windows chứa các file hỗ trợ cho
SNMP. Thư mục này sẽ được chuyển tới DRIVE:\usr\mibs (DRIVE là ổ đĩa nơi ta cài PHP)
4.3_Cài đặt các chức năng mở rộng trên Windows
Sau khi cài đặt PHP và một webserver trên windows, ta có lẽ cũng muốn cài đặt thêm
một số mở rộng để thêm các chức năng. Bảng dưới đây mô tả một vài chức năng có sẵn. Ta cũng
có thể thêm các chức năng bằng cách bỏ các dấu chú thích đứng trước các file php_*.dll trong
file php.ini.
Chú ý:
Một vài mở rộng dll yêu cầu theo mở rộng của PHP , ta nên copy các file dll từ thư mục dlls
trong gói phát hành vào thư mục windows/system hoặc winnt/system32.
Nếu ta đang có các file dll này rồi, ta chỉ ghi đè chúng trong trường hợp một vấn đề gì đó làm
việc không chính xác. Trước khi ghi đè chúng, tốt nhất là ta sao lưu chúng hoặc chuyển chúng
vào một thư mục khác chỉ để đề phòng một cái gì đó lỗi.
Download phiên bản sau nhất của Microsoft Data Access Components (MDAC)
Cho nền của bạn, đăc biệt với người dùng Microsoft Windows 9x/NT4.
MDAC có sẵn tại địa chỉ http://www.microsoft.com/data/ .
Cũng cần chú ý rằng một số mở rộng đòi hỏi các thư viện của các hãng thứ 3, ví dụ php_oci8.dll
cần các thư viện client Oracle 8 được cài đặt trên hệ thống của ta. Điều này không được cung cấp
với PHP.
Chú ý: Các dlls cho phần mở rộng của PHP được bắt đầu bằng tiền tố ‘php_’ điều này tránh sự
lộn xộn giữa các mở rộng của PHP và các thư viện của các hãng thứ 3 cung cấp.
Chú ý:
Trong PHP 4.0.5 hỗ trợ MySQL, ODBC, FTP, Calendar, BCMath, COM, PCRE,
Session, WDDX và XML được kết hợp vào.

11
5_Cấu hình PHP với Web server
5.1_Cài đặt PHP trên Windows với Apache 1.3.x
Có hai cách để thiết lập PHP để làm việc được với Apache 1.3.x trên Windows.
Một là sử dụng file nhị phân CGI (php.exe), cách còn lại là dùng Apache module .dll. Trong
cách sau, ta phải dừng Apache server, và biên tập file httpd.conf hoặc srm.conf để cấu hình
Apache làm việc với PHP.
5.2_Cài đặt PHP cho Apache như là một module
Phiên bản 4.1 giới thiệu module sapi an toàn hơn, theo đánh giá thì ta nên cấu hình PHP
như là một module của Apache thì tốt hơn.
Để thực hiện điều này, ta phải nạp file php4apache.dll trong Apache httpd.conf.
Chú ý:
Bất kỳ khi nào ta nạp php4apache.dll , php4apache.dll cần có php4ts.dll để được tính đến trong
phân bố PHP 4. php4apache.dll dựa trên php4ts.dll được nạp sớm như là Apache tải
php4apache.dll. Nếu php4ts.dll không được tìm thấy, ta sẽ nhận được một lỗi :
Cannot load c:/php/sapi/php4apache.dll into server
Vậy thật sự php4ts.dll được nạp từ đâu ?
php4ts.dll được tìm trong thứ tự như sau :
1) trong thư mục nơi apache.exe từ đó được bắt đầu
2) trong thư mục mà php4apache.dll từ đó được nạp
3) trong thư mục %SYSTEMROOT%\System32, %SYSTEMROOT%\system và
%SYSTEMROOT% .
Chú ý: %SYSTEMROOT%\System32 chỉ đúng với Windows NT/2000/XP)
4) trong toàng bộ %PATH%
Thông thường ta chỉ cần copy nó vào thư mục %SYSTEMROOT%\System32.
Sau khi ta đã thiết lập một cách đúng đắn, ta sẽ cấu hình Apache để nạp module PHP4 chỉ cần
thêm vài dòng vào file httpd.conf:
LoadModule php4_module c:/php/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php
Chú ý: Đặc biệt các phiên bản mới hơn của Apache không cần định hướng
AddModule .
Ta phải đặt file php.ini ở một trong hai nơi sau:
1) trong thư mục cài đặt Apache (ví dụ. c:\apache\apache)
2) trong thư mục %SYSTEMROOT% .
5.3_Cài đặt PHP cho Apache như là CGI nhị phân
Nếu bạn muốn cài đặt PHP như là CGI nhị phân, trước hết hãy đọc trang này trước:
http://www.cert.org/advisories/CA-1996-11.html
và sau đó nếu ta thật sự chắc chắn, cần chèn những dòng sau vào file conf:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php

12
Action application/x-httpd-php "/php/php.exe"
Để phòng ngừa xa, ta nên thay “/php” ScriptAlias thành một cái gì đó ngẫu nhiên hơn, để ngăn
chặn nhị phân được gọi trực tiếp, như là một sự bảo mật rủi ro.
Nhớ rằng khi ta hoàn thành việc khởi động lại server, ví dụ,
NET STOP APACHE
tiếp đến là
NET START APACHE
Để sử dụng chức năng mã nguồn được làm sáng, thêm dòng sau vào file apache httpd.conf :
AddType application/x-httpd-php-source .phps
Chú ý, điều này chỉ làm việc khi ta cài đặt php là module sapi.
Nếu bạn thích dùng đặc điểm này với cgi nhị phân, hãy tạo một file mới và dùng hàm
show_source("path/to/original_file.php");
5.4_Gạch trái hay gạch phải trong đường dẫn?
Trên Win-Apache, tên đường dẫn có thể gồm cả gạch trái và gạch phải.
Ví dụ:
LoadModule php4_module C:\php\sapi\php4apache.dll
làm việc tốt như:
LoadModule php4_module C:/php/sapi/php4apache.dll
Ta cũng có thể trộn lẫn hai kiểu gạch:
LoadModule php4_module C:\php/sapi\php4apache.dll

13

Không có nhận xét nào:

Đăng nhận xét