• Windows 2003+IIS6+PHP5.4+配置PHP支持空间的方法


    写在前面
    1、如果无论怎么弄都无法让php支持连接mssql
    则可以下载 FreeTDS 插件5.3,以便访问 SQL Server 数据库 
    php5.2 
    Thread Safe 
    http://download.moodle.org/download.php/dblib/php52/DBLIB_TS.zip 
    NOT Thread Safe 
    http://download.moodle.org/download.php/dblib/php52/DBLIB_NOTS.zip
    php5.3
    Thread Safe
    http://download.moodle.org/download.php/dblib/php53/DBLIB_TS.zip
    NOT Thread Safe
    http://download.moodle.org/download.php/dblib/php53/DBLIB_NOTS.zip


    2、如果无论怎么弄都无法让php支持连接mssql 则可以使用sqlsrv来让php连接mssql数据库(亲测php5.3.28可用)
    方法:
    下载sqlsrv20
    http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx
    Microsoft Drivers for PHP for SQL Server 2.0 -- 可用
    Microsoft Drivers for PHP for SQL Server 3.0 -- 不支持windows2003 没有亲测

    1、下载php

    http://windows.php.net/download/

    ISAPI + Thread Safe
    FastCgi + No Thread Safe
    
    PHP程序从PHP5.3以后的版本就不再用ISAPI进行扩展在IIS里运行了,所以在PHP5.3+压缩包下载解压后的文件里面也没有php5isapi.dll,取而代之的是php5nsapi.dll。

    使IIS6支持FastCgi
    http://www.iis.net/downloads/microsoft/fastcgi-for-iis
    安装扩展后在IIS 的 “Web 服务扩展”里启用

    ①如何选择PHP5.4.10的VC6版本和VC9版本

    VC6版本是使用Visual Studio 6编译器编译,如果PHP是用Apache来架设,那就选择VC6版本。    

    VC9版本是使用Visual Studio 2008编译器编译,如果PHP是用IIS来架设,那就选择VC9版本。

    选择的原则:

    1。在windows下使用Apache+PHP的,请选择VC6版本;                

    2。在windows下使用IIS+PHP的,请选择VC9版本;

    ②如何选择PHP5.4.10的Thread Safe版本和Non Thread Safe版本   

    从字面上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。

    Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。

    2、配置PHP

    PHP5.4.10安装目录下是没有PHP.ini这个文件的,只有php.ini-development和php.ini-production,我们将php.ini-development复制一个,然后重命名为 php.ini

    打开php.ini, 修改PHP.ini文件:

    1。查找display_errors改为:display_errors = On

    2。查找display_startup_errors改为:display_startup_errors = On

    3。查找error_prepend_string改为:error_prepend_string = "<br><font color=#ff0000>"

    4。查找error_append_string改为:error_append_string = "</font><br><br>"

    5。查找extension_dir改为:extension_dir = "D:PHPPHPext"

    6。查找fastcgi.impersonate改为:fastcgi.impersonate = 1

    8。查找date.timezone改为:date.timezone = PRC

    7。下列代码按下修改,在Windows Extensions中去除扩展前面的分号(;)
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll  
    extension=php_mysqli.dll
    extension=php_mcrypt.dll
    extension=php_pdo.dll
    如果ext里面有php_com_dotnet扩展,再增加一行
    extension=php_com_dotnet.dll

    8。查找date.timezone改为:date.timezone = PRC

    3、注册 PHP 到 FastCGI

    打开C:WINDOWSsystem32inetsrvfcgiext.ini文件 在文件最后加上下面的语句:
    [Types](这个是文件原来就有的,在[Types]后面加上下面的语句就可以,要全部哦不然会报错的。)
    php=PHP
    [PHP]
    ExePath=D:PHPPHPphp-cgi.exe
    InstanceMaxRequests=10000
    ActivityTimeout=600
    RequestTimeout=600
    EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000,PHPRC:D:PHPPHP

    “php”表示扩展名,“PHP”是配置节名称,以“[PHP]”定义。

    4、配置网站
    右键网站 => 属性 => 主目录 => 配置 => 添加,
    增加扩展名:php
    可执行文件路径:C:WINDOWSsystem32inetsrvfcgiext.dll
    限制为:GET,HEAD,POST

    5、配置PHP后,运行phpinfo.php程序,出现如下的错误提示。

    Error Details:
    Error Number: 5 (0x80070005).
    Error Description: 拒绝访问。
    HTTP Error 500 - Server Error. Internet Information Services (IIS)
    原因是要继续为php安装目录增加“Network Server”账户,并赋其读取运行权限

    FastCGI Error  The FastCGI Handler was unable to process the request.
    Error Details: ?The FastCGI process exited unexpectedly  ?
    Error Number: -2147467259 (0x80004005). ?
    Error Description: δ????????
    HTTP Error 500 - Server Error. Internet Information Services (IIS)
    可能原因是php.ini里面要设置开启:fastcgi.impersonate = 1

  • 相关阅读:
    兼容利器之X-UA-Compatible
    SQL Server之游标的基础知识
    SQL 按特定字段值排序
    NodeJS 开篇 牛刀小试
    临时表之IF-ELSE
    css中如何设置字体
    怎么做到不加班?
    C# .net中cookie值为中文时的乱码解决方法
    HTML5商城开发一 楼层滚动加载数据
    QQ浏览器X5内核问题汇总
  • 原文地址:https://www.cnblogs.com/ericyuan/p/3793375.html
Copyright © 2020-2023  润新知