欢迎使用 XenForo 2

本文档旨在帮助您快速上手 XenForo 2.0 开发工作。

阅读本文档的先决条件:① 熟悉 PHP;②熟悉 MySQL。读者无需具备 XenForo 早期版本的经验,但若有相关经验则会更有帮助。

接下来的内容将会简要概述如何搭建本地服务器、准备并安装全新的 XenForo 2.0,并介绍一些 XF2 开发的基本概念。

准备开始​

XF 开发入门非常简单。只需下载文件,将其上传到 Web 服务器并执行安装程序即可。如果没有 Web 服务器,也不用担心,可以在本地计算机上搭建一个。

下载 XenForo 2.0​

要下载 XF 2.0,只需登录并访问 XenForo 客户区域。确认当前许可证无误,然后点击下载 XenForo 链接。

选择要下载的版本、软件包类型并接受许可协议。最后,点击下载按钮即可下载文件。

系统需求​

XF 2.0 的运行需求与 XF 1.5 相比有所变化。推荐的配置如下:

模块要求
PHP5.4.0+
MySQL5.5+
PHP 扩展MySQLi、GD(支持 JPEG)、PCRE、SPL、SimpleXML、DOM、JSON、iconv、ctype、cURL

点击此处以下载系统需求测试程序。

配置本地服务器​

为了进行开发,搭建本地 Web 服务器通常更为方便。一般来说,有几种方法可以实现这一点:

  1. 自行安装 Apache(或 nginx)、MySQL(或 MariaDB)和 PHP;

  2. 安装预装虚拟机;

  3. 安装预装技术栈。

自己动手设置虽然更复杂,但通常能够更好地控制每处细节。

预装技术栈​

市面上有很多预构建的技术栈,它们的功能、性能和可靠性各不相同。Bitnami 维护着多种堆栈,包括分别适用于 Linux、Mac 和 Windows 的 LAMPMAMPWAMP 技术栈。它们都包含完整配置的 Apache、MySQL 和 PHP 环境,并包含用于管理 MySQL 的 phpMyAdmin。

上传​

要安装 XF 2.0,只需解压缩从客户区域下载的 ZIP 文件,然后上传其中的一些文件和目录。解压缩后,会看到一个名为upload的目录。进入该目录,并将其中的文件和目录悉数上传至服务器的网站根目录。通常情况下,网站根目录位于名为public_htmlhtdocswww的目录中。

创建配置文件​

如果使用命令行界面 (CLI) 安装 XF 2.0,则需要手动创建config.php文件——进入已上传到服务器的 XF 2.0 文件所在的src目录,创建一个名为config.php的新文件,并在其中填写 MySQL 服务器的主机、端口、用户名、密码和数据库名。

请确保在src目录下创建配置文件。library目录仅出于历史兼容性考虑。

创建完成后,该文件应该看起来像这样:

PHP
<?php

$config['db']['host'] = 'localhost';
$config['db']['port'] = '3306';
$config['db']['username'] = 'root';
$config['db']['password'] = 'mypassword';
$config['db']['dbname'] = 'xf2';

现在方可正式开始安装了。

如果当前使用的是 MySQL 5.5 或更高版本,且希望获得完整的 Unicode 支持(如表情符号),则在安装前还应添加以下内容:

PHP
$config['fullUnicode'] = true;

关于文件权限的说明​

XenForo 在运行时需要将文件写入特定位置。正常情况下,写入操作仅限于datainternal_data目录(及其子目录)。这些文件写入操作会由附件上传等事件触发,因此通常会由 Web 服务器上运行的 PHP 用户触发。所以,必须确保这些目录的权限设置正确,以便 Web 服务器可以写入这些目录。在安装正式开始之前应完成这些关于权限配置的操作。

如果使用命令行界面 (CLI),情况会变得更加复杂,因为此时可能有两个用户需要能够写入这些文件。因此必须采取措施避免写入这些文件时出现问题。以下是一些建议。

  1. 命令行界面 (CLI) 和 Web 服务器必须使用同一用户。这意味着在运行任意安装或升级命令(或其它会写入文件的命令)之前,需要手动切换到 Web 服务器用户;

  2. 若条件允许,应考虑对datainternal_data目录使用访问控制策略 (ACL)。具体做法因操作系统和配置而异,但基本思路可参照此处

  3. 强制 PHP 写入特定内容的权限——通过修改src/config.php文件来实现,如添加一行:$config['chmodWritableValue'] = 0666;这种方法对于开发而言可能是最简单的。

注意:对于插件开发者而言,CLI 和 Web 服务器用户可能需要写入文件到其它位置。尤其值得注意的是这些位置通常包括插件中的_output目录。这种情况下,让 Web 服务器以 CLI 用户身份运行可能是最省事的选择。如果选择其它方式,则可能需要确保 Web 服务器可以写入整个 XenForo 安装目录。不建议在生产环境中这么做。

安装​

对于开发者而言,应通过命令行方式安装 XF 2.0,因为许多开发工作只能通过 CLI 完成。要运行 XenForo 命令行指令,需要先访问终端或 Shell,具备执行 PHP 命令行的权限,且当前工作目录应该是 XF 2.0 源代码文件的根目录。

为避免文件权限问题,建议使用与 PHP 在 Web 服务器中运行相同的用户身份运行安装程序。若不这么做,则应采取措施确保权限设置正确。更多详情请参阅上文。

要开始安装,只需输入以下命令:

Bash
php cmd.php xf:install

控制台会提出一些问题,如初始管理员用户名和密码、网站名称等。随后,安装程序便会导入 XF 2.0 数据库表。

重新安装​

有时可能需要重新安装 XF2,尤其是在开发预览阶段,因为该阶段不支持执行升级操作。

如果准备重新安装,请按照上文中的说明下载新文件。通常情况下只需合并并覆盖现有文件即可。若要进行完全重新安装,建议先保存一份config.php文件的副本,或者按照上文说明重新创建该文件。

在上传新文件之前,应删除datainternal_data目录中的内容。

最后,只需按照上述步骤开始安装即可,但需要在安装命令后面添加额外的--clear参数,以删除所有现有的xf_数据表。

Bash
php cmd.php xf:install --clear

重新安装完成后,便可以重新执行登录。

对于插件开发者而言,若想要在重新安装期间保留或备份现有的src/addons目录,则应使用导入开发模式输出命令来恢复插件数据。

若选择备份和恢复src/addons目录,则务必小心。该目录下的XF目录包含 XF 内核数据,为了确保内核数据始终为最新版本,请勿从备份中恢复该目录。否则本次安装会破坏现有的数据,并删除当前网站中已创建的所有数据。另外请注意,只有以xf_为前缀的表才会被清除。这正是建议所有表(包括插件表)都应以xf_为前缀的主要原因。

验证文件完整性​

安装 XF2 时,系统会执行文件完整性检查。若必要,且无法通过管理员控制面板中的页面执行此检查,则可以执行 CLI 命令来启动该检查。

Bash
php cmd.php xf:file-check [addon_id]

若要对所有文件(包括 XF 本身)进行文件完整性检查,只需忽略[addon_id]参数即可。

如果仅对 XF 内核进行检查,只需用 XF 代替该参数;如果要检查特定插件,只需指定要检查的插件 ID 即可。

与插件管理相关的命令​

除了上述用于安装 XF2 的命令外,还有几个用于管理插件的命令。

安装​

只要指定的插件可用且文件完整性检查通过,就会安装该插件。如果当前开发模式输出可用,则系统会询问是否要基于该输出进行安装,而不是使用导出的数据 XML 文件。

Bash
php cmd.php xf:addon-install [addon_id]

升级​

升级指定的插件(前提是该插件可升级且文件完整性检查通过)。可以选择性地从开发模式输出执行导入。

Bash
php cmd.php xf:addon-upgrade [addon_id]

重建​

重建指定插件的主数据(前提是该主数据可重建且通过文件完整性检查)。此操作会重新导入插件的数据。可以选择性地从开发模式输出执行导入。

Bash
php cmd.php xf:addon-rebuild [addon_id]

卸载​

卸载指定的插件。

Bash
php cmd.php xf:addon-uninstall [addon_id]
上一页:总览 下一页:配置设置