huong dan cai dat php-mysql trong iis

8
Nếu có ý định dùng IIS làm web server, bạn cần biết qua cách cài đặt và cấu hình PHP và MySQL sao cho hoạt động trên IIS Công cụ cần thiết - MySQL download bản MySQL Installer 5.5.23 tại đây - Sử dụng PHP 5.3+ VC9 Non Thread Safe hoặc PHP 5.2 VC6 Non Thread Safe tại đây (VC9 đòi hỏi Microsoft 2008 C++ Runtime x86 (hoặc x64) - Wincache 1.1 for PHP (tăng tốc ứng dụng web PHP) - tạm thời chỉ dùng được với bản PHP 5.3 hoặc 5.2 - FastCGI for IIS (CGI là bộ thông dịch script cho các web server, để có thể chạy các ứng dụng web, FastCGI là sự thay thế cho CGI) - chỉ dùng với bản PHP Non Thread Safe (NTS) 1. Cài đặt - cấu hình PHP và trên IIS 5.1 và 6.0 (XP và Server 2003) - Giải nén PHP vào thư mục bất kỳ, ví dụ C:\PHP - Cài đặt Microsoft C++ Runtime x86, FastCGI và Wincahe (giải nén vào folder C:\PHP\ext). - Copy và đổi tên file php.ini-production thành php.ini

Upload: npthanh

Post on 27-Oct-2014

123 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Huong Dan Cai Dat PHP-MySQL Trong IIS

Nếu có ý định dùng IIS làm web server, bạn cần biết qua cách cài đặt và cấu hình PHP và MySQL sao cho hoạt động trên IIS

Công cụ cần thiết

- MySQL download bản MySQL Installer 5.5.23 tại đây- Sử dụng PHP 5.3+ VC9 Non Thread Safe hoặc PHP 5.2 VC6 Non Thread Safe tại đây(VC9 đòi hỏi Microsoft 2008 C++ Runtime x86 (hoặc x64)

- Wincache 1.1 for PHP (tăng tốc ứng dụng web PHP) - tạm thời chỉ dùng được với bản PHP 5.3 hoặc 5.2- FastCGI for IIS (CGI là bộ thông dịch script cho các web server, để có thể chạy các ứng dụng web, FastCGI là sự thay thế cho CGI) - chỉ dùng với bản PHP Non Thread Safe (NTS)

1. Cài đặt - cấu hình PHP và trên IIS 5.1 và 6.0 (XP và Server 2003)

- Giải nén PHP vào thư mục bất kỳ, ví dụ C:\PHP- Cài đặt Microsoft C++ Runtime x86, FastCGI và Wincahe (giải nén vào folder C:\PHP\ext).

- Copy và đổi tên file php.ini-production thành php.ini

Page 2: Huong Dan Cai Dat PHP-MySQL Trong IIS

- Thiết lập file php.ini(Để enable 1 chỉnh sửa nào đó trong PHP cần bỏ dấu ; trước hàng đó)

Extension_dir="C:\PHP\ext" (folder chứa Extension)Thiết lập CGI và FastCGIMã:fastcgi.impersonate = 1 (cho phép IIS định nghĩa phạm vi bảo mật...)fastcgi.logging = 0 (nên tắt, nếu bật có thể gây rỗi HTTP 500 Exception trong IIS)cgi.fix_pathinfo=1 (cho phép php truy cập các thông tin về CGI, cần cài đặt FastCGI trước)cgi.force_redirect = 0 (cần thiết khi dùng IIS, nhưng nếu kích hoạt sẽ gây hỏng php trên windows)

Thêm thư mục PHP vào Path của WindowsMy Computer > Properties > Advanced > Environment Variables > System Variables >điền ;C:\PHP vào PathHoặc chép tất cả file PHP vào thư mục Windows (C:\Windows mặc định có sẵn trong PATH). làm này đã lỗi thời và có thể gây lỗi.

Page 3: Huong Dan Cai Dat PHP-MySQL Trong IIS

Thêm PHP.ini vào System VariablesEnvironment Variables > System Variables >New >Mã:Variable name: PHPRCVariable value C:\PHP (nơi chứa php.ini)

Page 4: Huong Dan Cai Dat PHP-MySQL Trong IIS

Thiết lập FastCGI làm việc với IISMã:cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^-extension:php -path:"C:\PHP\php-cgi.exe"

Lệnh này xe tạo 1 IIS script ánh xạ (map) *.php (kết quả là tất cả URL với đuôi .php đêu được xử lý bởi FastCGI extension. Nó sẽ thiết lập FastCGI đẻ sử dụng file php-cgi.exe để tiến hành các yêu cầu PHP

Restart lại máy để hoàn tất quá trình cài đặt và cấu hình

Kết thúc để kiểm tra xem PHP có cài đặt và cấu hình đúng không, tạo 1 code php lưu lại tên phpinfo.php với nội dungMã:<?phpphpinfo();?>

Chạy thử qua http://localhost/phpinfo.php hay nơi bạn để file phpinfo.php

Page 5: Huong Dan Cai Dat PHP-MySQL Trong IIS

2. Cài đặt và cấu hình PHP trên IIS 7+ (Windows 7, Server 2008, Windows 8)

Cài đặt tương tự như IIS5.1 và II6, nhưng khác ở chỗ từ Windows 7 trở đi, đã tích hợp sẵn CGI, nên chỉ cần bật lên.- Đối với Windows 7 thông qua Windows Features > .. > CGI (như hình vẽ)

Page 6: Huong Dan Cai Dat PHP-MySQL Trong IIS

- Đối với Windows Server 2008+ thông qua Add Role Services > CGI

Cũng thiết lập CGI trong php.ini

Page 7: Huong Dan Cai Dat PHP-MySQL Trong IIS

Mã:fastcgi.impersonate = 1fastcgi.logging = 0cgi.fix_pathinfo=1cgi.force_redirect = 0

Tạo Handler Mapping cho PHP trong IISMở IIS > Handler Mappings

Tại khung Action > chọn Add Module Mapping.. và điền các thông số sau:Mã: Request path: *.php Module: FastCgiModule Executable: C:\php\php-cgi.exe Name: PHP_via_FastCGI

Nhấp vào Request Restriction.. và thiết lập như hình vẽ

Page 8: Huong Dan Cai Dat PHP-MySQL Trong IIS

Hoặc đơn giản hơn bằng cách dùng lệnh trong CMD

Mã:%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI ^/+[fullPath='c:\PHP\php-cgi.exe']

Code này sẽ tạo 1 tiến trình IIS FastCGI sử dụng php-cgi.exe để xử lý các yêu cầu về PHP

Mã:%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers ^/+[name='PHP_via_FastCGI', path='*.php',verb='*',modules='FastCgiModule',^scriptProcessor='c:\PHP\php-cgi.exe',resourceType='Either']

Code này sẽ tạo handler mapping cho tên mở rộng .php. Tất cả URL tận cùng bằng .php đều được xử lý bởi module FastCGI