PHP - Cài đặt môi trường

Để phát triển và chạy các trang PHP, thì 3 thành phần cơ bản sau cần được cài đặt trên hệ thống máy tính của bạn.

  • Web Server − PHP sẽ làm việc với hầu như tất cả phần mềm Web Server, bao gồm Internet Information Server (IIS) của Microsoft, nhưng sau đó Apache Server thường được sử dụng phổ biến hơn. Tải Apache miễn phí từ: http://httpd.apache.org/download.cgi
  • Database − PHP sẽ làm việc với hầu như tất cả phần mềm Database, gồm Oracle và Sybase, nhưng sau đó MySQL Database được sử dụng phổ biến nhất. Tải MySQL miễn phí tại: http://www.mysql.com/downloads/
  • PHP Parser − Để xử lý các lệnh PHP script, một parser phải được cài đặt để tạo HTML output mà có thể được gửi tới trình duyệt web. Phần dưới sẽ hướng dẫn bạn cách cài đặt PHP Parser trên máy tính của bạn.

Cài đặt PHP Parser

Trước khi học tập PHP, điều quan trọng là bạn nên chắc chắn rằng bạn đã cài đặt môi trường chính xác trên máy tính của bạn để phát triển lập trình web bởi sử dụng PHP.

Soạn địa chỉ sau vào trong hộp địa chỉ của trình duyệt:

http://127.0.0.1/info.php

Nếu nó hiển thị một trang chỉ thông tin liên quan tới cài đặt PHP của bạn, thì nghĩa là, bạn đã cài đặt PHP và WebServer chính xác. Nếu không thì, bạn phải theo thủ tục sau để cài đặt PHP trên máy tính của bạn.

Cấu hình Apache

Dưới đây sẽ hướng dẫn bạn chỉnh sửa Apache Configuration Files khi bạn đang sử dụng Apache như là một Web Server: Apache sử dụng httpd.conf file để cài đặt global, và .htaccess file cho cài đặt truy cập cho mỗi thư mục. Các phiên bản Apache chia httpd.conf thành 3 file (access.conf, httpd.conf, và srm.conf), và một số người dùng vẫn thích sự sắp xếp này.

Apache Server có một hệ thống cấu hình mạnh mẽ và ít phức tạp. Bạn tìm hiểu thêm về nó tại: − www.apache.org

Phần dưới miêu tả các cài đặt trong httpd.conf mà ảnh hưởng trực tiếp tới PHP và không thể được thiết lập ở nơi nào khác. Nếu bạn có bản cài đặt chuẩn, thì httpd.conf sẽ được thấy tại /etc/httpd/conf.

Giá trị timeout

Giá trị này thiết lập số giây mặc định trước khi bất kỳ HTTP Request nào sẽ timeout. Nếu bạn thiết lập max_execution_time của PHP tới giá trị dài hơn giá trị này, người sử dụng sẽ thấy một 404 error. Trong safe mode, giá trị này sẽ bị bỏ qua; bạn phải sử dụng giá trị timeout trong php.ini thay cho nó.

DocumentRoot

DocumentRoot chỉ định Root Directory cho tất cả tiến trình HTTP trên Server đó. Nó trông giống như sau trên Unix.

DocumentRoot ./usr/local/apache_1.3.6/htdocs.

Bạn có thể chọn bất kỳ thư mục nào làm DocumentRoot.

AddType

PHP MIME type cần được thiết lập ở đây cho PHP file để được parse. Nhớ rằng, bạn có thể liên kết bất kỳ file extension nào với PHP, ví dụ như .php3, .php5 hoặc .htm.

AddType application/x-httpd-php .php AddType application/x-httpd-phps .phps AddType application/x-httpd-php3 .php3 .phtml AddType application/x-httpd-php .html

Action

Bạn phải uncomment dòng này cho Windows apxs module version của Apache:

LoadModule php4_module modules/php4apache.dll

Hoặc trên Unix:

LoadModule php4_module modules/mod_php.so

AddModule

Bạn phải uncomment dòng này cho Static Module Version của Apache.

AddModule mod_php4.c

Cấu hình PHP.INI File

PHP Configuration file, php.ini, là cách cuối cùng và trực tiếp nhất để sử dụng tính năng của PHP.

File cấu hình PHP, php.ini, là bước cuối cùng và trực tiếp nhất ảnh hưởng tới tính năng của PHP. Tệp php.ini này được đọc mỗi khi PHP được khởi tạo, nói cách khác, bất cứ khi nào httpd được khởi động lại cho Module Version hoặc với mỗi sự thực thi Script cho CGI version. Nếu thay đổi của bạn không hiển thị, bạn nhớ dừng lại và khởi động lại httpd. Nếu vẫn không hiển thị, sử dụng phpinfo() để kiểm tra path tới php.ini.

File cấu hình nên được ghi chú rõ ràng và cẩn thận. Các key là phân biệt kiểu chữ, các giá trị keyword thì không; các khoảng trắng, các dòng bắt đầu với dấu chấm phảy bị bỏ qua. Giá trị Boolean có thể được biểu diễn bởi 1/0, Yes/No, On/Off hoặc True/False.

Phần dưới giải thích các cài đặt quan trọng trong php.ini cần thiết cho PHP Parser.

short_open_tag = Off

Short open tags giống như: <? ?>. Tùy chọn này phải được thiết lập là Off nếu bạn muốn sử dụng các hàm XML.

safe_mode = Off

Nếu được thiết lập là On, bạn có thể biên dịch PHP với --enable-safe-mode flag. Safe mode là thích hợp nhất để sử dụng CGI. Bạn nên theo dõi phần giải thích tùy chọn CGI compile-time.

safe_mode_exec_dir = [DIR]

Tùy chọn này chỉ thích hợp nếu safe mode là On; nó cũng có thể được thiết lập với --with-exec-dir flag trong tiến trình xây dựng Unix. PHP trong safe mode chỉ thực thi các Binary bên ngoài thư mục này. Giá trị mặc định là /usr/local/bin.

safe_mode_allowed_envvars = [PHP]

Tùy chọn này thiết lập biến môi trường nào mà người sử dụng có thể thay đổi trong Safe mode. Giá trị mặc định là các biến này được phụ thêm với "PHP_". Nếu chỉ thị này là trống, hầu hết các biến là có thể thay đổi được.

safe_mode_protected_env_vars = [LD_LIBRARY_PATH]

Tùy chọn này thiết lập biến môi trường nào mà người dùng không thể thay đổi trong Safe mode, ngay cả khi safe_mode_allowed_env_vars được thiết lập tùy ý.

disable_functions = [function1, function2...]

Một sự bổ sung thú vị tới cấu hình PHP4 và tồn tại vĩnh viễn trong PHP là khả năng để vô hiệu hóa các hàm đã chọn vì các lý do an toàn. Trước đây, điều này cần chỉnh sửa bằng tay bởi C code mà từ đó PHP được tạo. Các hàm về Filesystem, system và Network nên có thể vận hành đầu tiên, bởi vì nó cho phép khả năng để ghi file và hiệu chỉnh System thông qua HTTP không bao giờ là một sáng kiến an toàn.

max_execution_time = 30

Hàm set_time_limit() không làm việc trong Safe mode, vì thế, đây là cách chính để để tạo một timeout trong safe mode.

error_reporting = E_ALL & ~E_NOTICE

Giá trị mặc định là E_ALL & ~E_NOTICE, tất cả lỗi ngoại trừ Notice. Server nên được thiết lập ít nhất một giá trị mặc định.

error_prepend_string = [""]

Với backend của nó, error_append_string, cài đặt này cho phép bạn tạo các Error Message với màu khác nhau.

warn_plus_overloading = Off

Cài đặt này thông báo một Warning nếu toán tử + được sử dụng với các string, khi trong một giá trị form.

variables_order = EGPCS

Cài đặt cấu hình này thay thế gpc_order. Bây giờ, cả hai là cũ với register_globals. Nó thiết lập thứ tự của các biến khác nhau: Environment, GET, POST, COOKIE, và SERVER. Bạn có thể thay đổi thứ tự này. Các biến sẽ được ghi đè thành công từ trái qua phải. Thực sự nó chưa được sử dụng nhiều.

register_globals = Off

Cài đặt này cho phép bạn quyết định có hay không bạn muốn đăng ký các biến EGPCS là global. Nó bây giờ là cũ, và như trong PHP4.2, nó được thiết lập là Off theo mặc định. Sử dụng các superglobal array để thay thế. Tất cả danh sách code chủ yếu trong loạt bài này sử dụng superglobal array.

gpc_order = GPC

Cài đặt này đã là cũ.

magic_quotes_gpc = On

Cài đặt này thoát các trích dẫn trong dữ liệu GET/POST/COOKIE đang đến. Nếu bạn sử dụng nhiều form mà có thể đệ trình tới chính chúng hoặc form khác và hiển thị các giá trị form, bạn có thể cần thiết lập chỉ thị này là On hoặc chuẩn bị sử dụng addslashes() trên dữ liệu kiểu string.

magic_quotes_runtime = Off

Cài đặt này thoát các trích dẫn trong Database và Text string đang đến. Nhớ rằng, SQL thêm các dấu gạch chéo trong các trích dẫn đơn và các dấu nháy đơn khi lưu giữ các string và không bỏ qua chúng khi trả về. Nếu cài đặt này là Off, bạn sẽ cần sử dụng stripslashes() khi cho kết quả là bất kỳ kiểu dữ liệu string nào từ một SQL Database. Nếu magic_quotes_sybase được thiết lập là On, thì cài đặt này phải là Off.

magic_quotes_sybase = Off

Cài đặt này thoát các trích dẫn trong Database và Text string đang đến với các trích dẫn đơn Sybase-style thay vì các dấu chéo ngược. Nếu magic_quotes_runtime được thiết lập là On, cài đặt này phải là Off.

auto-prepend-file = [path/to/file]

Nếu một path được xác định ở đây, PHP phải tự động bao nó tại phần đầu mỗi PHP file. Các giới hạn về file được bao được áp dụng.

auto-append-file = [path/to/file]

Nếu một path được xác định ở đây, PHP phải tự động bao nó tại cuối mỗi PHP file, trừ khi bạn thoát ra bởi hàm exit(). Các giới hạn về file được bao được áp dụng.

include_path = [DIR]

Nếu bạn thiết lập giá trị này, bạn sẽ chỉ được cho phép bao hoặc yêu cầu các file từ các thư mục này. Nói chung, thư mục include này ở dưới Document Root; đây là bắt buộc. Nếu bạn đang chạy trong Safe Mode, thiết lập nó là . để bao các file từ cùng thư mục mà script của bạn ở trong đó. Nhiều thư mục được phân biệt bởi dấu hai chấm: .:/usr/local/apache/htdocs:/usr/local/lib.

doc_root = [DIR]

Nếu bạn đang sử dụng Apache, bạn đã thiết lập một Document Root cho Server này hoặc Virtual Host trong httpd.conf. Thiết lập giá trị này tại đây nếu bạn đang sử dụng Safe Mode hoặc nếu bạn muốn kích hoạt PHP chỉ trên một phần site của bạn (ví dụ: chỉ trong thư mục phụ của Web Root).

file_uploads = [on/off]

Là on nếu bạn sẽ upload các file bởi sử dụng PHP script.

upload_tmp_dir = [DIR]

Đừng uncomment dòng này trừ khi bạn hiểu ý nghĩa của HTTP upload.

session.save-handler = files

Hiếm khi bạn muốn thay đổi cài đặt này, nên đừng động đến nó.

ignore_user_abort = [On/Off]

Cài đặt này điều khiển những gì xảy ra nếu một khách truy cập site nhấn vào nút Stop của trình duyệt. Mặc định là On, nghĩa là script tiếp tục chạy để hoàn thành hoặc timeout. Nếu cài đặt được thay đổi về Off, script sẽ ngừng giữa chừng. Cài đặt này chỉ làm việc trong Module Mode, không CGI.

mysql.default_host = hostname

Server Host mặc định để sử dụng khi kết nối tới Database Server nếu không có host nào khác được xác định.

mysql.default_user = username

Username mặc định để sử dụng khi kết nối tới Database Server nếu không có name nào khác được xác định.

mysql.default_password = password

Password mặc định để sử dụng khi kết nối tới Database Server nếu không có password nào khác được xác định.

Cấu hình Windows IIS

Để định cấu hình IIS trên Windows, bạn tham khảo IIS Reference Manual được đi kèm với IIS.

Bình luận