最近需要安装个mantisbt,由于不想再安装个apache服务器,因此直接使用iis作为php解析服务器。同时为了方便管理安装包,将php安装包和扩展包能够独立存放在D:\Program Files\php5,而不是像网上很多文章说的拷贝到C:\WINDOWS\system32目录下。

  • 搭建php运行环境

windows2003 + iis6 + sqlserver2008

  • php版本选择

php安装软件从http://windows.php.net/download/上下载,不要见到最新的就下载最新的。

由于我的web服务器为iis6,因此只能选择5.3以及一下版本,iis7选择5.3以上版本

选择非线程安全版本,因为使用fastcgi.exe来执行,因此只会创建唯一的php进程,你不会存在线程耗尽问题

1、如果是用于 IIS 则选择 PHP 5.3 VC9 Non Thread Safe 或者VC6 Non Thread Safe

2、如果是用 IIS7 或更高版本以及 PHP 5.3+,则应选择 VC9 的包;

3、如果是用于 Apache 1 或 Apache 2 则选择 PHP 5.3 VC6 或者 PHP 5.2VC6

  • 配置php文件

1、将php.ini-product文件改名为php.ini

2、修改php.ini配置信息

        ;定义扩展文件绝对路径
extension_dir = "D:\Program Files\php5\ext"

	;定义启用哪些扩展

        extension=php_bz2.dll
        extension=php_curl.dll
        extension=php_fileinfo.dll
        extension=php_gd2.dll;生成图片
        ;extension=php_gettext.dll;多语言库
        extension=php_gmp.dll;数学运算
        ;extension=php_intl.dll
        ;extension=php_imap.dll
        ;extension=php_interbase.dll
        ;extension=php_ldap.dll
        extension=php_mbstring.dll
        extension=php_exif.dll      ; Must be after mbstring as it depends on it
        extension=php_mysql.dll
        extension=php_mysqli.dll
        ;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
        ;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client
        extension=php_openssl.dll
        ;extension=php_pdo_firebird.dll
        extension=php_pdo_sqlsrv_53_ts_vc9.dll
        extension=php_pdo_mysql.dll
        ;extension=php_pdo_oci.dll
        extension=php_pdo_odbc.dll
        ;extension=php_pdo_pgsql.dll
        ;extension=php_pdo_sqlite.dll
        ;extension=php_pgsql.dll
        ;extension=php_pspell.dll
        ;extension=php_shmop.dll;共享内存操作         extension=php_soap.dll
        extension=php_sockets.dll
        ;extension=php_sqlite.dll
        ;extension=php_sqlite3.dll
        ;extension=php_sybase_ct.dll
        extension=php_tidy.dll
        extension=php_xmlrpc.dll
        extension=php_xsl.dll
        ;extension=php_zip.dll

3、配置php环境变量  在path中添加php主目录路径, 定义扩展路径

a)在系统中定义环境变量PHPRC, 变量值为D:\Program Files\php5\

b)在path路径中添加%PHPRC%\ext;

  • 安装并配置fastcgi

从http://www.iis.net/downloads/microsoft/fastcgi-for-iis上面下载fastcgi.exe,需要根据版本选择,iis6选择FastCGI 1.5 for IISx86 /x64

修改php.ini文件,启用一下选项,并配置对应的值

       fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0

             配置 FastCGI 扩展以处理 PHP 请求

cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP"  ^
-extension:php -path:"D:\Program Files\php5\php-cgi.exe"

             配置文件访问权限

icacls D:\upload /grant IUSR:(OI)(CI)(M)

            

             配置 FastCGI 和 PHP 的回收

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000 cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

             配置 FastCGI 超时设定

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-ActivityTimeout:90 cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-RequestTimeout:90

             改变 php.ini 文件的位置

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHPRC:"D:\Program Files\php5\"
  • 配置iis

1、 配置 IUSR_SERVER对php安装包目录的读写权限

2、设置网站的默认首页为index.php

3、在iis网站属性中的主目录中的应用程序中添加扩展映射

         扩展名为.php   映射路径为C:\WINDOWS\system32\inetsrv\fcgiext.dll
  • sqlserver扩展安装

1、要选择对应的线程安全版本

从微软官网上下载php连接sqlserver驱动sqlsrv, 选择sqlsrv2.0.exe,解压后里面包含有线ts(线程安全) nts(非线程安全) vc9(5.3以上版本) vc6(5.2以下版本)

php 5.3以上版本

php_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_nts_vc9.dll

php5.2以下版本

php_sqlsrv_52_nts_vc6.dll

php_pdo_sqlsrv_52_nts_vc6.dll

由于我安装的是5.3非线程安全版本, 因此将以下php_sqlsrv_53_nts_vc9.dll和php_pdo_sqlsrv_53_nts_vc9.dll拷贝到ext扩展库中,并在php.ini中添加

extension=php_pdo_sqlsrv_53_nts_vc9.dll
extension=php_sqlsrv_53_nts_vc9.dll

2、安装Microsoft SQL Server 2012 Native Client

在使用SQLSRV30.exe, 需要安装这个东东,不过在我这个环境中只能使用sqlsrv20.exe

  • 安装mantisbt

1、执行http://ip/admin/install.php, 进入安装界面

hostName:主机名+端口号.mssql与其他数据库不大一样。例子:mssql为”8.8.8.8,10000“,mysql为“8.8.8.8:10000”

userName:数据库用户名

password:数据库密码

Database name:数据库名称

Database Table Prefix:表前缀

Database Plugin Table Prefix :插件表前缀

Default Time Zone:选择亚洲上海(Asia > Shanghai)

Print SQL Queries instead of Writing to the Database    :打印数据库语句,不要选择这一项,否则不会自动创建数据库

2、配置为中文

修改Mantis目录中的config_defaults_inc.php文件

          $g_fallback_language = 'english';
修改为
$g_fallback_language = 'chinese_simplified';

3、配置报表

/*配置图图表*/
$g_use_jpgraph = ON;
$g_jpgraph_path = 'D:/Program/jpgraph-3.5/'; # JPGraph路径
$g_graph_font = 'simsun';
$g_graph_window_width = 800;
# bar graph aspect ration (height / width)
$g_graph_bar_aspect = 0.9;
# how many graphs to put in each row in the advanced summary page
$g_graph_summary_graphs_per_row = 2;
$g_system_font_folder = 'C:/WINDOWS/Fonts/';
$g_font_per_captcha = 'simsun.ttf';

如果出现乱码则修改Mantis\plugins\MantisGraph\core\graph_api.php文件中的

		if( isset( $t_font_map[$t_font] ) ) {
$t_font = $t_font_map[$t_font];
} else {
$t_font = 'simhei.ttf';//arial.ttf
}

4、配置上传附件

在Mantisbt中创建上传目录upload并设置为iis进程可以进行写入、读取、修改的权限

在Mantisbt的项目管理中的“上传文件存放路径”配置上传路径为upload

#配置上传参数
$g_allow_file_upload     = ON;
$g_file_upload_method     = DISK;#DATABASE; # or DISK
$g_absolute_path_default_upload_folder = 'D:/Program/Mantis/upload'; # used with DISK, must contain trailing \ or /.
$g_max_file_size         = 5000000;    # in bytes
$g_preview_attachments_inline_max_size = 5 * 1024 * 1024;/*当图片大小小于5M显示*/
$g_allowed_files         = 'txt,jpg,jepg,gif,bmp,doc,docx,xls, xlsx,ppt,pptx';        # extensions comma separated, e.g. 'php,html,java,exe,pl'
# $g_disallowed_files   = '';        # extensions comma separated

5、配置邮件系统

从https://github.com/PHPMailer/PHPMailer上下载phpMailer,然后解压到指定路径比如D:/Program/PHPMailer/,然后修改Mantisbt中config_inc.php添加以下配置内容,并设置对应的值。网上一些资料说的不是很正确,导致刚开始的时候配置后,无法发送邮件,基本上按照config_inc.php.sample中的邮件配置建议进行配置就可以正常。

/*配置邮件服务器*/
$g_use_phpMailer = ON;
$g_phpMailer_path = 'D:/Program/PHPMailer/';
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;#PHPMAILER_METHOD_MAIL; # or PHPMAILER_METHOD_SMTP, PHPMAILER_METHOD_SENDMAIL
$g_smtp_host = 'smtp.exmail.qq.com'; # used with PHPMAILER_METHOD_SMTP
$g_smtp_username = 'service@qq.com'; # used with PHPMAILER_METHOD_SMTP
$g_smtp_password = '123456'; # used with PHPMAILER_METHOD_SMTP
$g_administrator_email = 'service@qq.com';
$g_webmaster_email = 'service@qq.com';
$g_from_email = 'service@qq.com'; # the "From: " field in emails
$g_return_path_email = 'service@qq.com'; # the return address for bounced mail
$g_from_name = 'Mantis Bug Tracker';
$g_email_receive_own = OFF;
$g_email_send_using_cronjob = OFF;
  • Mantisbt运行错误

在Mantisbt/php_errors.log 可以看到Mantisbt运行的错误日志

  • 参考资料

1、http://www.blogjava.net/qileilove/archive/2011/10/27/362175.html

2、http://php.net/install.windows

3、http://blog.csdn.net/yuchou123456789/article/details/12859431

4、http://wenku.baidu.com/link?url=Hzb9xVQK0TyN24Q-J_nnfjZdKaBsZFuOOiX7BKQvbHR1rVcs47q9t4cnEQFqqb2s2Rlc2r6ZQMSjaM1ACQgi_wODsek6nfRaYXL33cscfMK

5、http://wenku.baidu.com/link?url=4Ufx-xhMHaJA4mezBPBzDU7S9XLhWlrqHLefHoszyHmPEuFUoyybU1tSTY2HCLhqSsirkDg7lFNmE_VpUke3KFxTr-sHaFRxWPSjU3wdnha

在iis中mantisbt配置过程的更多相关文章

  1. MVC 发布到IIS中的配置方法

    MVC 发布到IIS中的配置方法  http://msdn.microsoft.com/zh-cn/library/gg703322(v=vs.98).aspx

  2. 在IIS中如何配置SSL(https)

    1.打开IIS管理界面>“服务器证书”>“创建自签名证书”>输入名称>点“完成” 2.在“网站”上右键“添加网站”,在“绑定”的“类型”中选择“Https”,在“SSL证书&q ...

  3. 在IIS 中如何配置URL Rewrite,并且利用出站规则保持被重写的Cookie的域

    Url Rewrite配置 xx.aa.com/bb/test1.aspx 会重写到 bb.aa.com/test1.aspx 具体怎么配置入站 出站规则 结果:

  4. Windows Server 2008 如何在IIS中添加MIME类型

    用户可以通过使用MIME以设置服务器传送多媒体文件,如声音和视频等.MIME是一种技术规范,现在可以用于浏览器上,传送可以供浏览器识别的信息 如果我们的网站提供下载服务,有时传上去的文件比如 xxx. ...

  5. IIS WebDAV安全配置

    本文为转载,原文地址:http://www.2cto.com/article/201307/228165.html IIS WebDAV安全配置 2013-07-16 12:13:00 作者:瞌睡龙收 ...

  6. 图解IIS配置过程

    环境介绍: 操作系统:win7,64位.IIS7 开发软件:VS2010,32位 图解IIS配置过程: 此过程之前确保已安装了IIS. 1.在"控制面板"中找到"管理工具 ...

  7. office web apps安装部署,配置https,负载均衡(七)配置过程中遇到的问题详细解答

    该篇文章,是这个系列文章的最后一篇文章,该篇文章将详细解答owa在安装过程中常见的问题. 如果您没有搭建好office web apps,您可以查看前面的一系列文章,查看具体步骤: office we ...

  8. pdf.js在IIS中配置使用笔记

    最近在手机App开发Android版本时候遇到需要显示PDF文件的需求,记得之前直接使用系统浏览器或者WebView就可以显示,但是现在不可以了,只能另寻其他办法. 最终找到PDF.JS来进行实现,但 ...

  9. vs2008+cmake2.8+OpenCV2.8.4配置过程中OpenCV.sln重编译部分工程失败

    解决方法来自此链接 http://www.tuicool.com/articles/qiQBb2N vs2008+cmake2.8+OpenCV2.8.4配置过程 1.解压opencv2.4.8 2. ...

随机推荐

  1. Android 使用SharedPreference来进行软件配置的存取

    我们在安卓开发的时候不免需要记录用户键入的一些信息,比如账号和密码,用户使用软件的次数,上次打开软件的时间等等,为了保存这些配置,我们可以使用SharedPreference类保存他们. //使用Sh ...

  2. [topcoder]BestRoads

    http://community.topcoder.com/stat?c=problem_statement&pm=10172&rd=13515 http://community.to ...

  3. PCB 敷铜间距规则(转)

    第一优先规则: First Object = InPolygon, Second Object = All 第二优先规则:First Object = All, Second Object = All ...

  4. default 关键字泛型代码中的默认关键字(C# 编程指南)

    在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型. 如果 T 为值类型,则它是数值还是结构. 给定参数化类型 T 的一个变量 t ...

  5. [LeetCode#281] Zigzag Iterator

    Problem: Given two 1d vectors, implement an iterator to return their elements alternately. For examp ...

  6. javascript时间、随机数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. C# Protect the Password inside a TextBox ZZ

    If the Text property is called, it will send an WM_GETTEXT message, so it will surely be an internal ...

  8. Kia's Calculation(HDU 4267)

    Problem Description Doctor Ghee is teaching Kia how to calculate the sum of two integers. But Kia is ...

  9. iphone上click事件不触发的问题解决。

    iphone上click事件不触发的问题解决. //在ID为jsProvince上有这么一个事件: $('body').on('click', '#jsProvince', function(e){ ...

  10. 基于TCP协议的客户端

    基于TCP协议的客户端 此客户端能用于下一篇博客的单线程服务器和多线程服务器 import java.io.BufferedReader; import java.io.IOException; im ...