Hướng dẫn dùng s.a.p.i. trong PHP

PHP là một ngôn ngữ kịch bản phía máy chủ được nhúng trong HTML. Nó được sử dụng để quản lý nội dung động, cơ sở dữ liệu, theo dõi phiên, thậm chí xây dựng toàn bộ các trang web thương mại điện tử.

Mục lục

    Bài viết với mục đích giới thiệu cơ bản về php để các bạn hiểu đôi chút về bản chất nguồn gốc cách cài đặt chay mà không sử dụng nhưng tool tích hợp [Giả server] như xampp, wamp, vertrigo ...

    1. Khái niệm PHP
    PHP viết tắt của "Hypertext Preprocessor" là một ngôn ngữ script được nhúng bên server HTML.

    Ví dụ:

    Mã php được bắt đầu bởi cặp thẻ sau

    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-SQLSybase 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.

    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].

    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ỉ: //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ợ.

    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ỉ //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.

    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:
    //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

    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


    Chủ Đề