欢迎使用 XenForo 2!#
本文档旨在帮助您开始 XenForo 2.0 的开发。本文档的前提假设您熟悉 PHP 和 MySQL 等知识。虽然不一定要有 XenForo 早期版本的经验,但这会是一个优势。
在接下来的页面中,我们将带您简要了解如何设置本地服务器、准备安装、进行 XenForo 2.0 的干净安装,并介绍一些 XF2 开发的概念。
开发者有哪些新内容?#
尽管 XenForo 2.0 为您的论坛及其成员添加了许多改进,但我们也投入了大量精力来改进 XenForo 的底层框架。您可以在以下帖子中阅读有关这些更改的更多信息:
开始使用#
开始 XF 开发非常简单。您只需下载文件,将其上传到 Web 服务器并触发安装。
如果您还没有 Web 服务器,别担心,您可以在本地机器上设置一个。
下载 XF 2.0#
要下载 XF 2.0,只需访问 客户区 并正常登录。找到正确的许可证并点击“下载 XenForo”链接。选择您希望下载的版本、包类型并接受许可协议。最后,点击下载按钮以下载文件。
XF 2.0 要求#
运行 XF 2.0 的要求自 XF 1.5 以来有所变化。推荐的要求如下:
- PHP: 5.4.0+
- MySQL: 5.5+
- PHP 扩展:MySQLi、GD(支持 JPEG)、PCRE、SPL、SimpleXML、DOM、JSON、iconv、ctype、cURL
设置本地服务器#
通常更方便的是为开发设置一个本地 Web 服务器。通常有两种方法:
- 自己安装 Apache(或 nginx)、MySQL(或 MariaDB)和 PHP。
- 安装预构建的虚拟机
- 安装预构建的堆栈。
自己设置更复杂,但往往可以让您更好地控制所有内容的设置方式。
幸运的是,我们创建了一些教程,介绍如何为您喜欢的操作系统设置本地开发环境:
预构建堆栈#
有许多预构建堆栈,它们可能在功能集、性能和可靠性方面有所不同。Bitnami 维护了许多堆栈,包括分别用于 Linux、Mac 和 Windows 的 LAMP、MAMP 和 WAMP 堆栈。它们都包括 Apache、MySQL 和 PHP 的完全配置安装,并包括用于管理 MySQL 的 PhpMyAdmin。
上传#
要安装 XF 2.0,您只需解压缩从客户区下载的 ZIP 文件并上传其中的一些文件和目录。
解压缩后,您将看到一个名为 upload
的目录。您需要进入该目录并将文件和目录上传到服务器的 Web 根目录。这通常是在名为 public_html
、htdocs
或 www
的目录中。
创建 src/config.php
#
如果使用 CLI 安装 XF 2.0,您需要手动创建 config.php 文件。为此,请进入您上传到服务器的 XF 2.0 文件中的 src
目录。创建一个名为 config.php 的新文件,并填充您的 MySQL 服务器的主机、端口、用户名、密码和数据库名称。
注意
确保您在 src
目录中创建配置文件。library
目录仅用于旧版目的。
完成后,它应如下所示:
<?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 支持(例如表情符号),您还应在安装前添加以下内容:
关于文件权限的说明#
XenForo 在运行时需要将文件写入特定位置。在正常操作中,这仅限于 data
和 internal_data
目录(及其子目录)。这些文件写入通常由附件上传等操作触发,因此它们通常由 Web 服务器中运行的 PHP 用户触发。因此,有必要确保这些目录中的权限设置正确,以便 Web 服务器可以写入它们。您需要在安装开始之前执行此操作。
当涉及 CLI 时,这种情况变得更加棘手,因为现在可能有两个用户需要能够写入文件。因此,采取措施避免写入这些文件时出现问题非常重要。以下是几个选项。
- 为 CLI 和 Web 服务器使用相同的用户。这可能表现为在运行任何安装或升级命令(或任何其他将写入文件的操作)之前切换到 Web 服务器用户。
- 如果可用,请考虑将 ACL 应用于
data
和internal_data
目录。此概念因操作系统和配置而异,但一般概念描述在 这里。 - 强制 PHP 写入的内容具有特定权限。这可以通过 src/config.php 文件中的一行来完成,例如:
$config['chmodWritableValue'] = 0666;
对于开发目的,这种方法可能是最简单的。
请注意,如果您正在开发插件,您可能还有其他位置需要 CLI 和 Web 服务器用户写入。值得注意的是,这包括插件中的 _output
目录。在这种情况下,让您的 Web 服务器以您的 CLI 用户身份运行可能会减少摩擦。如果您选择其他任何路线,您可能需要确保您的 Web 服务器可以写入整个 XenForo 安装;这在生产中不推荐。
安装#
当前安装 XF 2.0 的方式是通过新的 CLI 系统。许多开发过程只能使用 CLI 执行,因此让我们开始使用它来安装 XF 2.0。要运行这些命令,您需要访问终端/Shell、php CLI 命令,并且当前工作目录应该是您上传 XF 2.0 文件的根目录。
警告
为避免文件权限问题,我们建议以与 Web 服务器中运行的 PHP 相同的用户身份运行安装程序。如果您不这样做,您应该采取措施确保权限设置正确。有关更多详细信息,请参阅上一节。
要开始安装,只需输入以下命令:
您将被问到一些问题,例如初始管理员用户名和密码、论坛标题。之后,XF 2.0 数据库表和主数据将被导入。
XF 2.0 现已安装!
重新安装#
有时可能需要重新安装 XF2。这在开发预览阶段尤其如此,该阶段不支持升级。如果您准备重新安装,请按照上面的 下载 XF 2.0 部分下载新文件(如果适用)。通常可以合并并覆盖现有文件。如果您正在进行完全干净的重新安装,您可能希望保存 config.php 文件的副本或按照 创建 src/config.php 中的说明重新创建它。
在上传新文件之前,您应该删除 data
和 internal_data
目录的内容。
最后,您只需开始安装,类似于上面。您需要使用 --clear
选项,该选项将删除所有现有的 xf_ 表。
重新安装完成后,您现在应该能够重新登录。
如果您一直在开发插件,并且选择保留或备份现有的 src/addons
目录,您可以使用 导入开发输出 命令恢复插件数据。
警告
如果您选择备份和恢复 src/addons
目录,请小心。其中的 XF
目录包含 XF 主数据,不应从备份中恢复,以确保您始终拥有最新版本的文件。
以这种方式执行重新安装是一个破坏性操作,它将删除您创建的所有数据。此外,请记住,只有带有 xf_
前缀的表会被清除。这是建议所有表(即使是插件的表)都应带有 xf_
前缀的重要原因。
验证文件完整性#
当您安装 XF2 时,我们会在安装过程中执行文件完整性检查。如果有必要,并且您无法通过 Admin CP 中的页面执行检查,您可以运行 CLI 命令来执行该检查。
如果您希望对所有文件(包括 XF 本身)进行文件健康检查,只需省略 [addon_id]
参数。对于仅 XF,只需使用 XF
代替参数,或者对于特定插件,只需指定您希望检查的插件 ID。
插件管理命令#
除了上述用于安装 XF2 的命令外,还有几个用于管理插件的命令。
安装#
安装指定的插件,只要它可用并通过文件健康检查。如果有开发输出可用,您将被要求确认是否希望使用该输出进行安装,而不是导出的数据 XML 文件。
升级#
升级指定的插件,只要它可升级并通过文件健康检查。可以选择从开发输出导入。
重建#
重建指定插件的主数据,只要它可重建并通过文件健康检查。这将重新导入插件的数据。可以选择从开发输出导入。
卸载#
卸载指定的插件,只要它可卸载。