二,安装论坛,在安装论坛时,将数据库前缀改一下就是了,默认应该是pre_,你改掉就好了。
三,您可以在您的个人网站加一个论坛按钮。连接过去。也可以互相连接。
Discuz 在发帖或者回帖的时候,默认是显示用户的“用户名”的,这里的用户名就是用户注册的时候使用的用户名,是唯一的。但是很多用户进了论坛之后都会弄一个比较个性的昵称,看到发帖或者回帖的时候自己费尽心构思的昵称居然不会显示在醒目的地方,就很没有归属感,觉得自己“好像不存在”了一样,很不爽。所以我想要实现在用户发帖或者回帖的时候,如果用户自定义了昵称就显示昵称,否则就显示注册的用户名。 Discuz 本身没有这个设定功能(我用的是Discuz 6)。为了解决这个问题,我google了一下,结果发现很多Discuz的用户都想解决这个问题,也有人到官方反应的,不过结果很无奈,这么个小功能貌似一直没有添加。不过好在有人提供了一些思路,我转贴一下,好让更多需要的人google到。 注:修改 Discuz 之前请确保你了解一些PHP编程知识并知道自己在干什么。 原帖地址 首先,打开 include/global.func.php ,在里面添加下面的一个函数: 1 2 3 4 5 6 7 8 9 function getnickname($uid) { global $db, $tablepre$nickname = ''$query = $db->query("SELECT nickname from {$tablepre}memberfields where uid= '{$uid}' LIMIT 1")if($memnick = $db->fetch_array($query)) $nickname = $memnick['nickname']return $nickname} 然后打开 include/newreply.inc.php ,找到 1 $author = empty($isanonymous) ? $discuz_user : ''替换成: 1 2 3 4 5 6 7 8 if($nickname = getnickname($discuz_uid)) { $author = empty($isanonymous) ? $nickname : ''} else { $author = empty($isanonymous) ? $discuz_user : ''} 然后查找文件中的文本: 1 '$discuz_user' // 注意两边的单引号,这样是为了找到sql语句中引用到的 $discuz_user变量 替换成: 1 '$author' 接下来打开 include/newthread.inc.php ,找到: 1 $author = !$isanonymous ? $discuz_user : ''替换成: 1 2 3 4 5 6 7 8 if($nickname = getnickname($discuz_uid)) { $author = !$isanonymous ? $nickname : ''} else { $author = !$isanonymous ? $discuz_user : ''} 然后查找文件中的文本: 1 '$discuz_user' // 注意两边的单引号,这样是为了找到sql语句中引用到的 $discuz_user变量 替换成: 1 '$author' 这样咱们的工作就告一段落了,不过这只能保证改动代码之后用户发的帖子和恢复都会优先显示自定义的昵称,没有昵称才会显示用户名。之前的信息怎么办呢?我看了一下,最需要处理的应该就是帖子列表中的“作者”一栏,其它的比如“最近回复”都会逐渐被后面的新发布的信息顶下去,所以不用关心。这样的话一条 SQL 语句就可以了,假设你的 discuz 安装的时候使用的数据库表的前缀是 “cdb_”, SQL 语句就可以这样写: 1 UPDATE cdb_threads AS A, cdb_memberfields AS B SET A.author=B.nickname WHERE A.authorid=B.uid AND B.nickname!=''搞定。希望对那些需要的人有帮助。如果 Discuz 的开发人员看到篇日志,希望可以在以后添加这个小功能。 BTW,越来越发现 Hack 是一种态度,“甭管什么东西,只要让我看一段时间的源码,我就能修改成想要的样子”——这样子写程序才有意思。cuz! 具备跨平台特性,可以运行于 Linux/FreeBSD/Unix 及微软 Windows 2000/2003 等各种 *** 作系统环境下。我们已在软件中针对上述 *** 作系统做了大量的测试和实地检验,保证 Discuz! 可以在上述系统中安全稳定的运行,但您仍然需要做好服务器 *** 作系统级的安全防备措施,例如 Windows 用户需更改 MySQL for Windows 的初始 root 密码,避免跨目录的文件读写;类Unix 用户需避免使用过于简单的密码,避免跨用户目录的文件读写,做好服务器上其他相关软件(如 Sendmail, ftpd, httpd)等的安全防范,使用较新的软件版本等。如果您租用虚拟主机,一般正规和技术力量较强的虚拟主机提供商会已经做好 *** 作系统的各项准备,用户可不必关注此部分。
推荐使用 Linux/FreeBSD *** 作系统,不仅完全免费,而且可以获得更好的稳定性和负载能力。如果使用 Windows 系统,请将 PHP 以 ISAPI(非 CGI)方式安装。
语言及数据库支撑环境要求
Discuz! 需要服务器上装有如下软件:
可用的 httpd 服务器(如 Apache, Zeus, IIS 等)
php 4.1.0 及以上
Zend Optimizer 2.5.7 及以上
MySQL 3.23 及以上(仅针对 MySQL 版 Discuz!)
以上软件除了 httpd 软件有可能需要购买以外,其余均为跨平台的免费软件,推荐使用以上软件的最新稳定版本,不仅拥有更多的功能,而且通常已修复了已知老版本的安全漏洞。
如果您租用虚拟主机,请咨询虚拟主机提供商,您的空间服务器是否已安装了上述软件。由于 Discuz! 的数据表具有前缀设计,因此通常情况下可以将 Discuz! 与其他软件安装在同一个数据库中,或采用不同的前缀名从而在同一个数据库中安装多个 Discuz! 论坛而不产生冲突。
您的 MySQL 数据库账号应当拥有 CREATE、DROP、ALTER 等执行权限,同时文件空间需不低于 2M,数据库空间不低于 5M,通常您的虚拟空间都会满足这个条件,以满足包括 Discuz! 在内的绝大多数网络软件的正常运行。如果您不了解具体情况,请咨询您的空间提供商。
安装可能用到的工具软件
Discuz! 开发组尽量使得安装步骤简单方便,但仍然可能会用到一些常用的工具软件。如果您通过网络将 Discuz! 软件上传到服务器上,您将可能需要一个 FTP 客户端软件。通过您的服务器 FTP 账号,使用该 FTP 客户端软件将相关文件上传到服务器上。同时您可能需要一个简单的文本文件编辑软件,用以对配置文件进行参数修改,一般 *** 作系统自带的如 Windows 的“记事本”或第三方软件如 UltraEdit 等都能胜任。
Discuz! 要求使用 FTP 软件上传 php 文件时,使用二进制(BINARY)方式进行,否则将无法正常使用。
安装详细流程
第 1 步:上传
使用 FTP 软件登录您的服务器,建立一个单独的目录,或选择合适的位置,确保存放在此位置的文件能够被 web 请求所访问到,并且该目录中具有执行 PHP 代码的权限。将 Discuz! 文件包的 ./upload 目录中的全部文件和目录结构上传到服务器(注意是上传 upload 目录中的文件和目录,而不是上传包含 upload 目录本身的目录和结构)。
如果您仍然不了解应该上传哪些内容,请参考《文件及目录结构》中的说明。
Discuz! 要求使用 FTP 软件上传 php 文件时,使用二进制(BINARY)方式进行,否则将无法正常使用。有关二进制上传的具体细节,请参考《安装常见问题》中的说明。
第 2 步:设置目录属性
如果您的服务器使用 Windows *** 作系统,可跳过这一步。
您在正式安装以前,需要设置相关的目录属性,以便数据文件可以被 Discuz! 正确的读写。使用 FTP 软件登录您的服务器,将服务器上以下的目录属性设置为 777。
./templates
./templates/default
./templates/default/*.*
./attachments
./customavatar
./forumdata
./forumdata/cache
./forumdata/templates
第 3 步:配置数据库信息
使用编辑器打开您本地机器上的默认配置文件(config.inc.php),看到以下的内容:
$dbhost = 'localhost' // database server
// 数据库服务器
$dbuser = 'dbuser'// database username
// 数据库用户名
$dbpw = 'dbpw'// database password
// 数据库密码
$dbname = 'discuz' // database name
// 数据库名
$adminemail = 'admin@your.com'// admin email
// 论坛系统 Email
$dbreport = 0 // send db error report? 1=yes
// 是否发送数据库错误报告? 0=否, 1=是
请依据以上的注释配置空间服务商提供的数据库服务器、用户名、密码及数据库名。如果您使用自己安装的服务器环境,我们建议您在可能的情况下,尽量不要使用 root 账号,而依据 Discuz! 及服务器上其他软件的需要,单独为每个程序分配账号和数据库,以减少安全问题发生的可能。
请您了解:数据库参数我们也无法告诉您如何设置,需要根据服务器账号的实际情况而定。如果您不了解,请咨询您的空间服务商,他们会完整的告诉您具体的设置方法。
配置好参数设置后,请保存该文件(config.inc.php),并不要忘记将其上传到服务器上的论坛目录中,覆盖原有的默认配置文件。
第 4 步:执行安装脚本
您的安装已经进行到最后一步,请在浏览器中运行 install.php,即访问 您的域名/论坛目录/install.php 以完成最后的安装。
安装脚本会检查您的服务器系统环境、剩余空间、数据库环境,并具备一定的纠错功能。如果您在之前某一步骤 *** 作有问题,通常安装脚本会发现并作以提示,请您根据提示再对安装过程进行检查。如果没有提示出问题,请您按照其中的说明,完成最后的安装。使用中的问题,请参考《使用指南》。
安装成功后,请通过 FTP 删除安装脚本(install.php),以避免被再次安装。
文件及目录结构
Discuz! 软件包通常以 tgz(tar.gz)或 zip 的格式压缩,绝大多数压缩软件可解开此类压缩格式的软件包,解压后的目录结构如下所示:
./users_guide.htm
./usersguide/
./upload/
*.php
install.php
config.inc.php
mail_config.inc.php
whatsnew.php
admin/
*.php
attachments/
customavatars/
forumdata/
templates/
cache/
templates/
default/
*.htm
*.lang.php
images/
attachicons/
avatars/
common/
default/
smilies/
stats/
include/
*.php
plugins/
./utilities/
repair.php
restore.php
testmail.php
upgrade(x).php
用户使用说明书(本文档)
用户使用说明书内容与图片目录
程序及相关文件(此目录中的内容需上传)
Discuz! 程序
Discuz! 安装脚本
论坛基本配置,安装前请修改本文件
邮件发送配置
网页新帖调用程序
系统设置程序目录
系统设置程序集
空目录,请设置属性 777,用于存放附件
空目录,请设置属性 777,用于存放上传头像
空目录,请设置属性 777,用于存放备份及记录数据
空目录,请设置属性 777,用于存放编译模板文件
空目录,请设置属性 777,用于存放系统缓存
模板文件目录
系统默认模板目录
系统默认模板文件
系统默认语言包文件
图片文件目录
附件图标图片目录
论坛提供头像图片目录
公用图片目录
系统默认风格图片目录
Smilies 图片目录
流量统计图片目录
引用包含目录
引用包含程序集
空目录,用于存放插件程序
论坛附带工具
数据库修复工具
分卷备份数据恢复工具
邮件发送测试工具
论坛升级程序
安装常见问题
什么是二进制(BINARY)上传?如何设置并使用二进制上传?
所有的 FTP 服务器端和客户端软件均支持两种方式的文件上传,其一为文本(ASCII)上传,其二为二进制(BINARY)上传。Discuz! 要求用户在上传 PHP 程序文件时,使用二进制的上传方式进行。原因为某些程序文件经过编译处理,使用一般的文本上传会造成文件传输错误,影响您的使用。您可以在所有的 FTP 客户端软件中找到有关二进制上传的选项,例如 LeapFTP, CuteFTP 等。以下举例说明这两种客户端软件设置 PHP 文件二进制上传的方法。
LeapFTP:在 Options(选项)菜单中选择 Parameters(参数设置),选择其中的[ASCII 扩展名],出现列表后,选中其中的“*.PHP”,点右边的[删除],再点右边的[确定]即可。如果“*.PHP”项目不存在的话,可直接使用,不需另行设置。
CuteFTP:进入软件后按 ALT+F7 进入 Global Options(全局选项),选择[传输]下面的[ASCII 类型],在右边列表框中找到名为“PHP”的项目,选定后点右边的[删除],再点下面的[确定]即可。如果“PHP”项目不存在的话,可直接使用,不需另行设置。
如何更改文件属性?
您只有在服务器使用 Linux/Unix 类 *** 作系统时,才需要在安装时对文件属性进行更改,Windows 系统的服务器不需要更改属性。您可以在 FTP 软件中,选定需要更改属性的文件或目录,然后点右键选择 CHMOD(更改文件属性),输入属性值(如 777),再确定即可。如果您的 FTP 软件提示无权更改属性,而您又没有办法通过 Shell 的方式登入主机,请与空间服务商联系,要求其授予您 CHMOD 的权限。
为什么通过访问所有 .php 页面都会出现类似程序代码一样的信息?
这种情况是因为您的服务器上 PHP 语言支持环境没有被安装,或配置不正确。请自行安装,或向空间提供商寻求解决。
为什么软件提示 Unable to read xxx bytes in xxx.php in xx 这样的信息?
因为您没有使用二进制(BINARY)上传 PHP 文件,请使用 FTP 软件将所有 PHP 文件重新传输一次。
为什么论坛提示 Caches successfully created, please refresh?
这是缓存自动更新的提示信息,通常在初次安装完成后,或缓存文件不存在由系统自动重新建立的时候出现。这个提示为正常现象,一般仅出现一次,刷新该页面即可。
为什么论坛提示 Can not write to cache files, please check directory ./forumdata/ and ./forumdata/cache/ .?
出现这个提示通常因为 Cache 文件无法写入。使用 Unix 类 *** 作系统的用户,请检查 ./forumdata/、./forumdata/cache/ 和 ./forumdata/templates/ 这三个目录是否设置了可写属性(777),同时如果您是从其他服务器上转移论坛而来,除了需要对上述文件设置属性以外,还需要进行下面两个步骤其中之一:
将上述三个目录中的后两个目录中的所有文件全部删除
将上述三个目录中下的所有文件及目录属性均设置为777
如果数据库不存在,安装程序可以自动建立数据库吗?
Discuz! 安装程序提供这个功能,前提是您的账号要有建库的权限才行,否则只能使用已有的数据库。
一般情况下,我需要修改 config.inc.php 中的什么设置?
一般应用只要修改 $dbname,$dbuser,$dbpw,$dbhost,$adminemail 这五个变量,而其他保留默认或等待对论坛软件更加熟悉以后再进行修改。上面这五个变量,除了 $adminemail 外,其他均用于连接数据库,在您服务器空间的说明中都会给出,如果其中之一配置不正确就会出现数据库无法连接的错误提示而无法使用 Discuz! 论坛。如果您对此不了解,请咨询您的空间服务商,如何设置这四个变量参数。
安装后论坛提示 Access denied for user@localhost using password YES',该如何解决?
这个提示意味着您的数据库连接参数设置的不正确,有两种可能:其一为数据库账号或密码错误;其二为数据库账号和密码均正确,但无权访问指定的数据库。遇到此种情况,请您咨询您的空间服务商,针对您的空间该如何配置数据库连接参数。
为什么安装成功,进入系统设置后提示 Please delete install.php via FTP?
因为您没有按照说明将 install.php 删除,会产生安全问题,使用 FTP 软件将其删除后这个提示自动消失。
Discuz! 本地运行环境构建(Windows)
内容简介
为了方便您在本地体验/熟悉/调试 Discuz!,下面提供一篇完整的 Windows 2000/XP/2003 环境下的服务器搭建方法,您只需按照步骤逐步 *** 作,即可轻松构建本地的 Discuz! 运行环境。
软件准备
安装进行之前需准备好以下软件:
IIS :Windows 2000/XP/2003 安装光盘
Apache :
PHP(及4.0.6以上):
MySQL(3.23 及以上):
Zend Optimizer(1.1.0 以上):
phpMyAdmin:
本文只是列举了撰写之时,常用的软件版本,通常情况下,安装方法也可以适合未来一定时期的版本。使用到的软件如下:IIS 5.0/6.0、 Apache 2.0.52、PHP 4.3.9、MySQL 4.1.7、Zend Optimizer 2.5.5、phpMyAdmin 2.6.0,您也可以到 下载以上部分软件。
注意:Aapche 和 IIS 选择其一即可,如果想要两者共存且能同时工作,请在安装 Apache 过程中设置好端口,默认是 80,如您可以设置为 8080;或者更改 IIS 的端口。
安装 PHP
下载后得到 php-4.3.9-Win32.zip,解压至 C:\PHP(这个路径可以随意,不过下面要是用到这个路径,请相应修改);
进入 C:\PHP,将 php.ini-dist 复制一份放到 C:\WINNT( Windows XP/2003 下为 C:\Windows )内,改名为 php.ini,然后用记事本打开,利用记事本的查找功能搜索 extension_dir = "./",并将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = "C:\PHP\extensions";再搜索 register_globals = Off,将 Off 改成 On;如果你想让 PHP 支持更多功能模块,请按照下面的步骤去做,如果不想的话,直接保存关闭 php.ini 即可。
PHP 支持的模块很多,搜索:
Windows Extensions
Note that MySQL and ODBC support is now built in, so no dll is needed for it.
下面所列的就是 PHP 预支持的扩展模块,默认情况下都用分号在前面注释掉了,如果你想 PHP 支持某个模块,请将前面的“”去掉即可。如果安装完毕后测试时,d出不支持 xxx.dll 模块的话,直接将前面分号再加上去,保存后重启 Web 服务器就可以了。
把 C:\PHP\php4ts.dll 和 C:\PHP\dlls 目录下的所有文件复制粘贴到 C:\WINNT\system32\( Windows 2003 下为 C:\Windows\system32 )内;
配置 IIS 使其支持 PHP(如果您使用 Apache 作为 Web 服务器,请跳过本步):
首先必须确定系统中已经正确安装 IIS,如果没有安装,需要先安装 IIS,安装步骤如下:
Windows 2000 下的 IIS 安装:
用 Administrator 帐号登陆系统,将 Windows 2000 安装光盘插入光盘驱动器,进入“控制面板”点击“添加/删除程序”,再点击左侧的“添加/删除 Windows 组件”,在d出的窗口中选择“Internet 信息服务(IIS)”,点下面的“详细信息”按钮,选择组件,以下组件是必须的:“Internet 服务管理器”、“World Wide Web 服务器”和“公用文件”,确定安装。
安装完毕后,在“控制面板”的“管理工具”里打开“服务”,检查“IIS Admin Service”和“World Wide Web Publishing Service”两项服务,如果没有启动,将其启动即可。
Windows 2003 下的 IIS 安装:
由于 Windows 2003 的 IIS 6.0 集成在应用程序服务器中,因此安装应用程序服务器就会默认安装 IIS 6.0,在“开始”菜单中点击“配置您的服务器”,在打开的“配置您的服务器向导”里左侧选择“应用程序服务器(IIS,ASP.NET)”,单击“下一步”出现“应用程序服务器选项”,你可以选择和应用程序服务器一起安装的组件,默认全选即可,单击“下一步”,出现“选择总结界面”,提示了本次安装中的选项,配置程序将自动按照“选择总结”中的选项进行安装和配置。
打开浏览器,输入:,看到成功页面后进行下面的 *** 作:
将 PHP 安装为 ISAPI 模式:
在“控制面板”的“管理工具”中选择“Internet 服务管理器”,打开 IIS 后停止服务,然后在左侧“默认Web站点”上单击右键选择“属性”,在打开的“默认 Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮,在d出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP,再将可执行文件指向 php4isapi.dll 所在路径,如:C:\PHP\sapi\php4isapi.dll。
打开“默认 Web 站点属性”窗口的“主目录”标签,找到并点击“配置”按钮,在d出的“应用程序配置”窗口中找到并点击“添加”按钮,在d出的窗口中新增一个扩展名映射,扩展名为 .php,单击“浏览”将可执行文件指向 php4isapi.dll 所在路径,如:C:\PHP\sapi\php4isapi.dll,然后一路确定即可。如果还想支持诸如 .php3,.phtml 等扩展名的 PHP 文件,可以重复“添加”步骤。
再打开“默认 Web 站点属性”窗口的“的“文档”标签,找到并点击“添加”按钮,向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档。
确定 Web 目录的应用程序设置和执行许可中选择为纯脚本,然后关闭 Internet 信息服务管理器,在命令提示符中执行如下命令:
net stop w3svc
net stop iisadmin
net start w3svc
打开浏览器,输入:,看到成功页面后,在 IIS 根目录下新建一个 phpinfo.php,内容如下:
<?php
phpinfo()
?>
打开浏览器,输入:,将显示当前服务器所支持 PHP 的全部信息,可以看到 Server API的模式为:ISAPI。
配置 Apache 使其支持 PHP(如果您使用 IIS 作为 Web 服务器,请跳过本步):
一般下载后得到的是一个 .exe 文件,直接双击安装,过程中需设置一下服务器名,如设置为: localhost,假设装在 C:\。
打开 C:\Apache\Apache2\conf\httpd.conf,在最后添加如下代码:
LoadModule php4_module "C:/php4/sapi/php4apache2.dll"
AddType application/x-httpd-php .php
查找 DirectoryIndex,在其后面添加 index.php,保存后关闭文件,Restart Apache。
打开浏览器,输入:,看到成功页面后,在 C:\Apache\Apache2\htdocs 下新建一个 phpinfo.php,内容如下:
<?php
phpinfo()
?>
打开浏览器,输入:,将显示当前服务器所支持 PHP 的全部信息,可以看到 Server API 的模式为:Apache2 handler。
安装 MySQL :
如果你下载的是 Windows Essentials (x86),将得到 mysql-4.1.7-essential-win.exe ,直接双击安装即可。安装过程中会提示你是不是立即进行配置,选择否即可完成安装。安装完毕后,在“开始”菜单的“运行”中输入:C:\MySQL\bin\mysqld-nt -install,运行成功之后再输入:net start mysql,将会启动 MySQL 服务;要停止 MySQL 服务,输入:net stop mysql ;如果你还想较详细的配置 MySQL,就请进入 C:\MySQL\bin 目录,运行 MySQLInstanceConfig.exe,按提示 *** 作即可。
如果你下载的是 Windows (x86),解压后双击执行 Setup.exe 即可,步骤同上。
如果你下载的是 Without installer (unzip in C:\),直接解压到 C:\MySQL,在“开始”菜单的“运行”中输入: C:\MySQL\bin\mysqld-nt.exe -install,运行成功之后再输入:net start mysql,即可启动 MySQL 服务;要停止 MySQL 服务,输入:net stop mysql。
安装 Zend Optimizer :
下载后得到 ZendOptimizer-2.5.5-Windows-i386.exe,直接双击安装即可,安装过程要你选择 Web Server 时,选择 IIS,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini,点确定后安装完成。
Zend Optimizer 的安装向导会自动根据你的选择来修改 php.ini 帮助你启动这个引擎。下面简单介绍一下 Zend Optimizer 的配置选项。以下为安装完成后 php.ini 里的默认配置代码(分号后面的内容为注释):
[Zend]
zend_optimizer.optimization_level=15
优化程度,这里定义启动多少个优化过程,默认值是 15,表示同时开启 10 个优化过程中的 1-4,我们可以将这个值改为 1023,表示开启全部10个优化过程。
zend_extension_ts="C:\Zend\lib\ZendExtensionManager.dll"
Zend Optimizer 模块在硬盘上的安装路径。
zend_extension_manager.optimizer_ts="C:\Zend\lib\Optimizer-2.5.5"
优化器所在目录,默认无须修改。
安装 phpMyAdmin:
下载得到 phpMyAdmin-2.6.0.zip,将其解压到 IIS 根目录,找到并打开 config.inc.php,做以下修改:
搜索 $cfg['PmaAbsoluteUri'],将其设置为 phpMyAdmin 目录路径,如: ;
搜索 $cfg['DefaultLang'],将其设置为 zh-gb2312 ;
搜索 $cfg['DefaultCharset'],将其设置为 gb2312 ;
打开浏览器,输入:,若 IIS/Apache 和 MySQL 均已启动,phpMyAdmin 默认无须密码即可浏览数据库内容。
phpMyAdmin 的具体功能,请慢慢熟悉,这里不再赘述。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)