摘要:这一段项目中有一个论坛需要升级,确切的说是要做扩充。原来论坛用的是Discuz NT,相比现在的Discuz X2.0肯定功能稍微弱一些,因此用户就有想法需要升级,将原来论坛、日志、照片什么的全部升级到Discuz X2.0上来。由于Discuz NT是基于.net的,而Discuz X是基于php的,所以直接升级肯定是做不到的,中间必须通过导库,必要的地方修改相关php来满足需求。今天暂且不说如何升级,先来看看Discuz X2.0在windows下如何配置。
主要内容:
- php环境配置
- mysql安装
- 安装Discuz X2.0
一、Php环境
在windows的IIS上做的部署,有两种方式:ISAPI和FastCGI。从php5.3之后不再支持ISAPI方式(大家如果需要使用ISAPI方式可以到我的另一篇博客IIS7.X配置PHP运行环境),而只提供FastCGI方式(据说在windows server 2008上使用FastCGI方式运行php要比ISAPI方式部署快130%)。这里由于项目的需求,用的是最新的php-5.3.6-Win32-VC9-x86_ThreadSafe.zip,因此我们就使用FastCGI方式来进行部署。如果使用的是IIS6及以下版本的朋友需要单独安装FastCGI,IIS7.x是有FastCGI功能的,如果默认没有安装可以到Control Panel\Programs\Programs and Features中打开(Internet Information Services—World Wide Web Services—Application Development Features--CGI)。接下来解压下载的php zip包,将解压后的php-5.3.6-Win32-VC9-x86_ThreadSafe整个文件夹放在D盘根目录(这个位置可以任意放)。
1.在php-5.3.6-Win32-VC9-x86_ThreadSafe中找到php.ini-development修改文件名为php.ini。
2.打开php.ini文件,
首先配置php的扩展,找到;extension_dir = "ext"修改为(也就是你的扩展所在目录)extension_dir = "D:\php-5.3.6-Win32-VC9-x86_ThreadSafe\ext"。
接着打开需要的扩展项(php.ini中已经存在对应的扩展配置,只需要去掉;注释),一般常用的配置如下:
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
在php5.3中还需要设置时区,将;date.timezone =修改为date.timezone ="Asia/Shanghai"
然后启用fastcig(同样是去掉相关注释)
fastcgi.impersonate = 1;
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 1
3.接下来对iis的fastcgi进行配置,当然,这之前先建立一个站点(我们这里建立一个站点DiscuzX20指向F:\工作目录\DiscuzX20),点击站点,在Features View视图中选择HandlerMappings—Add Module Mapping ,然后配置如下Request Paht:*.php,Module:FastCgiModule,Executable(optional): D:\php-5.3.6-Win32-VC9-x86_ThreadSafe\php-cgi.exe,Name:phpModule(当然其中的Executable要根据具体路径选择,还有Name也是可以自己定义的)。
注意:
a.在IIS7.x的配置都是会生成对应配置文件的,例如做好上面配置后就可以在网站根目录生成web.config,以后其他网站如果配置相同,只需要拷贝里面具体的配置内容就可以了。
b.FastCGI同ISAPI方式不同,ISAPI运行php是不需要使用托管程序的,因此应用程序池可以修改为非托管,但是FastCGI不同,它的应用程序池同Asp.Net是一样的(而且二要注意32位和64位系统的却别,64位系统的话有两种情况:1.如果默认使用的是32位.net framework则可以设置网站应用程序池Enable32-bit Application为True 2.如果默认使用的就是64位.net framework则无需配置),必须使用托管程序。
c.ISAPI方式部署php通常会将php.ini拷贝到C:\Windows目录下,而FastCGI方式不需要这样做。
d.ISAPI方式部署php通常要将php_mysql.dll拷贝到C:\Windows\System32 下,而FastCGI方式部署不用这么做。
4.在站点default document中添加index.php,接着我们在站点中建立一个index.php,输入,访问试试看。不出意外的话我们可以看到相关php信息,但是也有朋友说遇到提示说FastCGI意外退出,这是你可以通过
C:\Users\KenshinCui>d:
D:\>cd D:\php-5.3.6-Win32-VC9-x86_ThreadSafe
D:\php-5.3.6-Win32-VC9-x86_ThreadSafe>php –v
此时你就可以看到相关信息,这个时候一般朋友遇到的都是提示说找不到php_zip.dll,此时你就可以打开php.ini,将相关扩展注释掉(如果需要此扩展可以到php5.2包中去找)。
二、安装mysql
我这里下载的是最新版的mysql5.5.11.7,相比较原来的老版本来说mysql的高版本性能要好很多,而且对于开发者来说添加了很多新功能,例如MySQL WorkBench,它是一个mysql的图形化管理工具,有了它你就不用在使用MySQL Command Line Client或者自己安装PHPMyAdmin等第三方管理工具了。
安装mysql的过程比较简单,只需要稍微注意一下下面几点就可以了:
- 注意选择安装类型,无论是新版本还是旧版本都有此选项,特别是实际部署的时候一定注意选择。我们这里就选择Developer Default。
2.在配置是要选择是作为开发机器还是作为服务器,一般服务器的访问量支持要大得多。
如果你选择了安装MySQL Workbench的话就可以通过它来管理你的服务器了,当然你通用可以使用MySQL Command Line Client,如下图。
三、安装Discuz X 2.0
下载安装包后解压有三个文件夹,其中upload是我们需要部署的,可以将其中的内容拷贝到站点根目录(这里我们就放在上面配置好的站点根目录就可以了)。
接着访问站点,出现一下界面:
点击下一步(此时如果按照上面说的配置一般不会出现问题,出现问题的话按照提示项注意解决):
点击下一步选择全新安装:
点击下一步,输入admin的密码和其他配置项:
然后Discuz X2.0就会开始生成相关数据库:
上面成功之后你就可以看到Discuz X2.0首页面了:
好了,今天就到这里吧,以后有机会我们一块看一下Discuz X2.0,包括Discuz NT如何升级到Discuz X2.0。