安装Discuz
1.下载Discuz 版本文件
http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
2.下载PHP
http://windows.php.net/downloads/releases/php-5.6.9-Win32-VC11-x64.zip
把里面文件的php.ini-development 更名为php.ini
Uncomment下列语句
extension_dir = "ext"
可以用命令检测是否能用php -v
如果报错php.exe is not a valid win32 application,那就是这个php是32位版本,而OS是64位
3.将里面的upload文件放在IIS下,convert to application,选择Framework v4版本的application pool
双击“处理程序映射”,“添加模块映射”,把php-cgi.exe加进去
做一个test.php文件,里面的内容是<?php phpinfo(); ?>,然后在浏览器里打localhost/..../text.php
这样可以测试是否可以显示php页面
http://localhost/Discuz/install/index.php
之后浏览网页提示不允许目录浏览,点击Default Web Site->目录浏览->启用
然后浏览网页提示FastCGI进程意外退出
进入PHP目录,运行PHP -v , 提示找不到msvcr110.dll64
尝试下载位版本的dll,但放进C:\Windows\windows/system32或者C:\Windows\SysWOW64依然会报错,后来下载vcredist_x64,安装好后就可以了
计算机中丢失 msvcr110.dll 怎么办
http://jingyan.baidu.com/article/4f7d57129fa86e1a201927de.html
Visual C++ Redistributable for Visual Studio 2012 Update 4
http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=30679

4进入安装界面后,会提示一系列目录不存在以及mysql不支持
对于列出的目录,全部加上IUSR和IIS_IUSRS用户,并且给予他们全部权限。注意不起作用的话,关掉选项卡,再次尝试刷新。
5.下载mysql
http://dlsw.baidu.com/sw-search-sp/gaosu/2015_03_23_16/bind1/12585/mysql_installer_community_V5.6.21.1_setup_12585_BDdl.exe
得到的是绿色安装版本,按下面链接改my.ini,之后运行mysqld -install 就会安装了
注意如果安装成功后报错连接不了端口,这是因为有个mysql的服务没有启动,启动了就可以telnet上了
http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.22-winx64.zip
MySQL绿色版的安装(mysql-5.6.22-win32.zip)
http://www.cnblogs.com/freeton/p/4264829.html

6.回到安装界面,会发现还是说不支持mysql
此时应当检查php.ini里面的驱动有没有uncomment掉
extension=php_mysql.dll
extension=php_mysqli.dll
如果还是不行,则重启IIS服务器,应该是OK的了
7.IIS6下运行Discuz,忽略那些php5iapi.dll,要用fastcgi方法
WIN2003+IIS6+FastCGI+PHP5.4.30的安装配置
http://hanbaohong.iteye.com/blog/1273205
Microsoft IIS 5.1 and IIS 6.0 Configuring IIS to process PHP requests
http://www.php.net/manual/en/install.windows.iis6.php
a.首先是安装fcgisetup_1.5_rtw_x64.msi
安装后会在C:\WINDOWS\system32\inetsrv\目录下多出了5个文件fcgiconfig.js,fcgiext.dll,fcgiext.ini,fcgilicense.rtf,fcgireadme.htm
这个时候在IIS6的"WEB服务扩展"里就多出了一个FastCGI Handler , 设为允许
b.CGI and FastCGI settings in php.ini
fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0
c.Configuring FastCGI extension to handle PHP requests
cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^
-extension:php -path:"C:\PHP\php-cgi.exe"
d.Application -> Properties -> Configuration->Add
可执行文件填写C:\WINDOWS\system32\inetsrv\fcgiext.dll
扩展名填写.php。
动作->限制为GET,HEAD,POST。
Documents -> Add index.php
e.测试
用文本写一段测试代码:
<?php
phpinfo();
?>
保存为index.php,名字随便取,只要后缀是.php就可以。把index.php放到根目录下,我这里是C:\Inetpub\wwwroot,然后在浏览器中输入http://localhost/index.php就可以得到返回的信息了。
8.DX3.2 、PHP7出错set_magic_quotes_runtime()
http://localhost/discuz/install/
The website cannot display the page |
PHP Fatal error: Uncaught Error: Call to undefined function set_magic_quotes_runtime() in D:\Inetpub\wwwroot\discuz\install\index.php:12
Stack trace:
#0 {main}
thrown in D:\Inetpub\wwwroot\discuz\install\index.php on line 12
从PHP 5.4开始,set_magic_quotes_runtime()已经被弃用,从PHP 7.0开始set_magic_quotes_runtime()已经被移除
对于 Discuz! X3.2,即删除install/index.php的以下代码
@set_magic_quotes_runtime(0);
9.DX3.2 、PHP7出错Call to undefined function mysql_escape_string()
PHP Debug
| No. | File | Line | Code |
| 1 | index.php | 130 | require(%s) |
| 2 | forum.php | 56 | discuz_application->init() |
| 3 | source/class/discuz/discuz_application.php | 66 | discuz_application->_init_setting() |
| 4 | source/class/discuz/discuz_application.php | 686 | loadcache(Array) |
| 5 | source/function/function_core.php | 702 | table_common_syscache->fetch_all(Array) |
| 6 | source/class/table/table_common_syscache.php | 63 | discuz_database::field(%s, Array) |
| 7 | source/class/discuz/discuz_database.php | 271 | discuz_database::quote(Array) |
| 8 | source/class/discuz/discuz_database.php | 185 | discuz_database::quote(%s, true) |
| 9 | source/class/discuz/discuz_database.php | 177 | break() |
这个问题比较烦人,php7已经不支持这个mysql_escape_string ,一开始,我按上面列出的文件找那个function,可是找不到,然后搜索整个文件夹,替换成mysql_real_escape_string,但重新安装后依然显示同样的错误。
好吧,那就换成php5.6,结果更离奇了,打开后什么都没有,也没有错误消息。
最后,幸好有人实现了Discuz3.2对PHP7的兼容,直接下载就好了
X3.2针对PHP7的兼容版本-测试ing
http://www.discuz.net/thread-3699198-1-1.html
https://github.com/branchzero/discuz-x32-php7/releases
注意,如果PHPAdmin用IE8或者IE8以下的浏览器,版面会乱掉。不要紧,换个浏览器就行了。
安装Discuz的更多相关文章
- 004.测试解析php,安装discuz
一.配置解析php 编辑nginx配置文件/usr/local/nginx/conf/nginx.conf [root@huh ~]# vim /usr/local/nginx/conf/nginx. ...
- 【阿里云产品公测】ACE安装Discuz超详细图文教程
作者:阿里云用户51干警网 hello.今天我们来在阿里云ACE上安装discuz. 因为本人不喜欢X3.2的版本,这次我使用的是DZX2.5. 首先的是准备工作: 一.申请阿里云ACE内测 http ...
- 本地安装discuz
出处:http://jingyan.baidu.com/article/b87fe19eb57ff252183568d9.html 网站建目前都很简单,建站容易,管理难,网站做大优化更难.本人有建站经 ...
- Discuz建站教程:本地安装discuz网站
网站建目前都很简单,建站容易,管理难,网站做大优化更难.本人有建站经验,目前给大家分享一下如何建站,当然,目前使用的是本地建站,因为非本地建站需要购买域名和网站空间,当然,朋友们想真正建站的,对于一些 ...
- OpenWrt+nginx+php安装discuz
下面这个图片是本次的硬件资源:一个无线路由器的开发板,一个8G的u盘,一条手机的数据线(可以作为串口和供电使用),一条网线,一个USB Hub. <ignore_js_op> ...
- 安装Discuz!论坛时提示“mysqli_connect() 不支持 advice_mysqli_connect”
安装Discuz!论坛时提示“不支持Mysql数据库,无法安装论坛”的解决方法1,在系统的 system32(C:\windows\system32)目录下缺少libmysql.dll文件,解决方法是 ...
- Linux安装Discuz
安装lamp环境 安装参考 安装Discuz 1.进入官网 2.进入Discuz! 程序发布 3.选择最新版本 4.进入git地址 5.克隆下载 5. 确认Apache中的DocumentRoot配置 ...
- 实战!基于lamp安装Discuz论坛-技术流ken
简介 我前面的博客已经详细介绍了lamp采用yum安装以及编译安装的方式,这篇博客将基于yum安装的lamp架构来实战安装Discuz论坛,你可以任选其一来完成. 系统环境 centos7.5 服务器 ...
- 基于lnmp环境安装Discuz
安装环境 Linux:CentOS Linux release 7.5.1804 (Core) nginx:1.14.2 php-fpm:5.4.16 mariadb-server:5.5.60 基本 ...
- 宝塔面板nginx配置安装Discuz
Discuz!在Nginx下的Rewrite 需要说明的是,下网上以前一直流传的Rewrite都是有误的. 下面的Rewrite中百分号前面多了个转移字符"",这在Apache中是 ...
随机推荐
- 硬件实现IIC协议读取EEPROM
我TMD也是服了,反正我板子搞了半天也不成功我也不知道为什么,野火STM32-MINI,一直卡EV5,不管了 先代码沾上 工程目录(板子为野火STM32 MINI) 串口相关代码: bsp_usart ...
- nginx如何调用PHP(nginx+php运行原理)
采用nginx+php作为webserver的架构模式,在现如今运用相当广泛.然而第一步需要实现的是如何让nginx正确的调用php.由于nginx调用php并不是如同调用一个静态文件那么直接简单,是 ...
- 【数据结构】Tournament Chart
Tournament Chart 题目描述 In 21XX, an annual programming contest, Japan Algorithmist GrandPrix (JAG) has ...
- nacos搭建
1.下载执行包 直接官网 https://nacos.io/zh-cn/docs/quick-start.html 2. 建表 3. 启动 http://10.0.0.113:8848/nacos/i ...
- 在JAVA中如何获取当前源文件名以及代码的行号
在最近经历中,遇见了这样一个问题,如何获取当前源文件名以及代码的行号,只是了解到C语言有预定义宏__FILE__.__LINE__,它们在预处理的时候都已经确定好了,但是在JAVA中应该怎么获取输出呢 ...
- buffer 与 cache 的区别
Buffer 和 Cache buffer 和 cache 同样作为缓存,他们之间有什么区别呢? 简单来说,buffer 是即将要写入磁盘的缓存,而 cache 是从磁盘中读出来放到缓存的 参考来自: ...
- Visual Stdio C++ 编译常见问题
1. new 数组出现崩溃 new 数组时数组下标出现负值,但未做出错处理: new数组,数组字节数大于4MB的时候有可能出现crash! 解决办法: 加入 try catch 后,这样的错误几乎没 ...
- JVM学习笔记——字节码指令
JVM学习笔记——字节码指令 字节码 0与 1是计算机仅能识别的信号,经过0和1的不同组合产生了数字之上的操作.另外,通过不同的组合亦产生了各种字符.同样,可以通过不同的组合产生不同的机器指令.在不同 ...
- liunx shell 脚本的基础知识
Shell脚本编程30分钟入门====================## 什么是Shell脚本### 示例看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell ...
- libssh
1.SSH概念 ssh(secure shell),安全外壳协议,由IETF的网络小组所制定.ssh为建立在应用层基础上的安全协议.SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议. ...