PHP在II7安装指南

参考文档:

Using FastCGI to Host PHP Applications on IIS 7.0

一、PHP的安装

1、下载并安装程序

PHP 5.2.8 Non-thread-safe zip package

the update for FastCGI module

Administration Pack for IIS 7.0

Win2008下的IIS7与PHP相关问题

2、配置php.ini

把C:\PHP\php.ini-recommended 复制成php.ini,然后修改文件:

fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
open_basedir ="G:\Projects_PHP"   
extension_dir = "c:\php\ext" ;extension_dir = "./"
extension=php_mssql.dll
extension=php_mysql.dll

extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_mysql.dll

 其中open_basedir表示网站所在的包含目录,你也可以指定为"G:\",这样只要在G盘下的网站都可以在安全范围之内

#为了使用session需要添加设置 session.save_path = "c:\php\tmp" 并创建目录tmp

#extension_dir = "c:\php\ext"

3、配置IIS

IIS根-->Handler Mappings-->

    Request path: *.php
    Module: FastCgiModule
    Executable: "C:\PHP\php-cgi.exe"
    Name: PHP via FastCGI

IIS根-->FastCGI settings-->Edit... --> Edit FastCGI application-->instanceMaxRequest=10000

                                                  --> EnvironmentVariables --> PHP_FCGI_MAX_REQUESTS=10000

4、推荐的安全配置(仅供参考)

    allow_url_fopen=Off
    allow_url_include=Off
    register_globals=Off
    open_basedir="c:"inetpub""
    safe_mode=Off
    safe_mode_gid=Off
    max_execution_time=30
    max_input_time=60
    memory_limit=16M
    upload_max_filesize=2M
    post_max_size=8M
    max_input_nesting_levels=64
    display_errors=Off
    log_errors=On
    error_log="C:"path"of"your"choice"
    fastcgi.logging=0
    expose_php=Off

5、独立配置

参考:http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/

中的"Per-site PHP process pools"和"Specifying php.ini location"

A、IIS根-->FastCGI Settings-->Add Appliction....-->fullPath="C:\PHP\php-cgi.exe"

                                                                           arguments="-d open_basedir=G:\Projects_PHP\Samples\PHP_Hello2"

查看:C:\windows\system32\inetsrv\config\applicationHost.config可见有如下配置:

<fastCgi>
 
<application fullPath="C:\PHP\php-cgi.exe" instanceMaxRequests="10000">
 
<environmentVariables>
   
<environmentVariable name="PHP_FCGI_MAX_REQUESTS" value="10000" />
  
</environmentVariables>
 
</application>
 
<application fullPath="C:\PHP\php-cgi.exe"
arguments
="-d open_basedir=G:\Projects_PHP\Samples\PHP_Hello2" maxInstances="4" idleTimeout="300" activityTimeout="30" requestTimeout="90"

instanceMaxRequests="200" protocol="NamedPipe" queueLength="1000" flushNamedPipe="false"
rapidFailsPerMinute
="10" />

</fastCgi>

B、修改网站的web.config

<?xml version="1.0"?>
<configuration>
<system.webServer>
    
<handlers accessPolicy="Read, Script"> 
        
<remove name="PHP via FastCGI" />
        
<add name="PHP via FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\PHP\php-cgi.exe|-d open_basedir=G:\Projects_PHP\Samples\PHP_Hello2" resourceType="Unspecified" requireAccess="Script" />
    
</handlers>
</system.webServer>
</configuration>

6、配置环境变量

例如安装目录在c:\php

配置Path的变量添加C:\PHP\;

7、安装URL Rewrite Module

下载rewrite_x86_rtw.msi 

参考:URL Rewrite Module Using URL Rewrite Module URL Rewrite Module Configuration Reference 

原文地址:https://www.cnblogs.com/chenjunbiao/p/1760148.html