WordPress/wordpress-develop

GitHub: WordPress/wordpress-develop

WordPress 核心软件的官方 Git 开发镜像仓库,提供完整的本地开发环境和测试工具链,供开发者参与核心代码贡献。

Stars: 3376 | Forks: 3556

# WordPress 欢迎使用 WordPress 开发代码库!请查阅[贡献者手册](https://make.wordpress.org/core/handbook/),了解如何提交 Bug 报告、贡献补丁、测试更改、编写文档或以任何可能的方式参与其中。 * [新手入门](#getting-started) * [凭据](#credentials) ## 新手入门 ### 本地开发 WordPress 是一个基于 PHP、MySQL 和 JavaScript 的项目,并使用 Node 来管理其 JavaScript 依赖。它提供了一个可用的本地开发环境,以便您能快速启动并运行。 您需要对如何在计算机上使用命令行有基本的了解。这将使您能够设置本地开发环境,在必要时启动和停止它,并运行测试。 您的计算机上需要安装 Node 和 npm。Node 是用于开发者工具的 JavaScript 运行时,而 npm 是 Node 附带的包管理器。如果您为您的操作系统安装了包管理器,设置过程可能会非常简单: * macOS:`brew install node` * Windows:`choco install nodejs` * Ubuntu:`apt install nodejs npm` 如果您没有使用包管理器,请访问 [Node.js 下载页面](https://nodejs.org/en/download/)获取安装程序和二进制文件。 **注意:** WordPress 目前仅官方支持 Node.js `20.x` 和 npm `10.x`。 您还需要在计算机上安装并运行容器环境,例如 [Docker Desktop](https://www.docker.com/products/docker-desktop)。容器环境是为本地开发环境提供支持的虚拟化软件,可以像安装任何其他常规应用程序一样进行安装。 **注意:** WordPress 目前仅官方支持 Docker,但也支持其他几种通常兼容的容器环境,例如 [Colima](https://github.com/abiosoft/colima)、[OrbStack](https://orbstack.dev/)、[Podman Desktop](https://podman-desktop.io/) 和 [Rancher Desktop](https://rancherdesktop.io/)。 ### 开发环境命令 在使用这些命令之前,请确保您的容器环境正在运行。 #### 首次启动开发环境 您可以通过以下步骤开始使用本地开发环境: 1. 前往 https://github.com/WordPress/wordpress-develop 并将该代码库 Fork 到您自己的 GitHub 帐户。 2. 然后使用 `git clone https://github.com//wordpress-develop.git` 将 Fork 的代码库克隆到您的计算机。 3. 使用 `cd wordpress-develop` 导航到克隆的代码库目录中。 4. 通过 `git remote add upstream https://github.com/WordPress/wordpress-develop.git` 将源代码库添加为 `upstream` 远程仓库。 5. 例如,随后您可以通过 `git pull --ff upstream trunk` 让您的分支保持最新。 或者,如果您安装了 [GitHub CLI](https://cli.github.com/),只需运行 `gh repo fork WordPress/wordpress-develop --clone`([文档](https://cli.github.com/manual/gh_repo_fork))。此命令将执行以下操作: 1. 将代码库 Fork 到您的帐户(使用 `--org` 标志可克隆到组织中)。 2. 将代码库克隆到您的计算机。 3. 将 `WordPress/wordpress-develop` 添加为 `upstream`,并将其设置为默认的 `remote` 代码库。 在此之后,请记得运行 `cd wordpress-develop`。 将代码库 Fork 并克隆到您的计算机后,在终端中运行以下命令: ``` npm install npm run build:dev npm run env:start npm run env:install ``` 您的 WordPress 站点将可通过 http://localhost:8889 访问。您可以在位于项目目录根目录下的 `.env` 文件中查看或更改配置。 #### 监视更改 如果您正在修改 WordPress 核心文件,您应该启动文件监视器,以便根据需要构建或复制文件: ``` npm run dev ``` 要停止监视器,请按 `ctrl+c`。 #### 运行 [WP-CLI](https://make.wordpress.org/cli/handbook/) 命令 ``` npm run env:cli -- ``` WP-CLI 提供了[许多有用的命令](https://developer.wordpress.org/cli/commands/),您可以使用它们来管理您的 WordPress 站点。当文档提到运行 `wp` 时,请改为运行 `npm run env:cli --`。例如: ``` npm run env:cli -- help ``` #### 运行测试 这些命令分别运行 PHP 和端到端测试套件: ``` npm run test:php npm run test:e2e ``` 您可以通过添加 `--` 以及[命令行选项](https://docs.phpunit.de/en/10.4/textui.html#command-line-options)来向 PHP 测试传递额外参数: ``` npm run test:php -- --filter npm run test:php -- --group ``` #### 对工作流文件进行 Lint 检查 GitHub Actions 工作流在特权软件供应链环境中运行,因此所有工作流文件都必须遵守高度的质量和安全标准。 `.github/workflows` 目录中的所有 YAML 工作流文件在修改时都会使用 [Actionlint](https://github.com/rhysd/actionlint) 和 [Zizmor](https://github.com/zizmorcore/zizmor) 进行静态扫描。建议您使用包管理器在本地安装这两个工具,以便在提交工作流文件更改之前先进行运行检查。 - [Actionlint 安装说明](https://github.com/rhysd/actionlint/blob/main/docs/install.md) - [Zizmor 安装说明](https://docs.zizmor.sh/installation/) 运行 Actionlint: ``` actionlint ``` 对所有工作流文件运行 Zizmor(注意末尾的句点): ``` zizmor . ``` **注意:** 当 Zizmor 检测到问题时,不会导致工作流运行失败。相反,生成的报告会提交到 GitHub Code Scanning,并通过状态检查展示出来。某些本地报告的问题可能会根据代码库配置的 Code Scanning 设置被忽略。 #### 生成代码覆盖率报告 PHP 代码覆盖率报告会[每天生成](https://github.com/WordPress/wordpress-develop/actions/workflows/test-coverage.yml)并[提交到 Codecov.io](https://app.codecov.io/gh/WordPress/wordpress-develop)。 在本地容器环境[安装并启动](#to-start-the-development-environment-for-the-first-time)之后,可以使用以下命令生成代码覆盖率报告。 ``` npm run test:coverage ``` 该命令将生成 HTML、PHP 和文本格式的三份覆盖率报告,并将它们保存在 `coverage` 文件夹中。 **注意:** 生成代码覆盖率报告需要 xDebug,这会显著减慢 PHPUnit 的运行速度。传递基于选择的选项(例如 `--group` 或 `--filter`)可以减少所需的总时间,但会导致报告不完整。 #### 重启开发环境 如果您更改了 `docker-compose.yml` 或 `.env` 文件中的配置,可能需要重启环境。使用以下命令重启环境: ``` npm run env:restart ``` #### 停止开发环境 当您不使用环境时,可以将其停止以节省计算机的电源和资源: ``` npm run env:stop ``` #### 再次启动开发环境 再次启动环境只需一条命令: ``` npm run env:start ``` #### 重置开发环境 开发环境可以被重置。这将销毁数据库并尝试移除已拉取的容器镜像。 ``` npm run env:reset ``` ### Apple Silicon 机器与旧版 MySQL/MariaDB 版本 旧版 MySQL 和 MariaDB 容器镜像不支持 Apple Silicon 处理器(M1、M2 等)。以下版本受此影响: - MySQL 5.7 及更早版本 - MariaDB 5.5 在 Apple Silicon 机器上使用这些版本时,您必须创建一个包含以下内容的 `docker-compose.override.yml` 文件: ``` services: mysql: platform: linux/amd64 ``` 此外,必须禁用容器环境(如果适用)中的“Use Rosetta for x86/AMD64 emulation on Apple Silicon”设置,此解决方案才能生效。 ## 凭据 以下是默认的环境凭据: * 数据库名称:`wordpress_develop` * 用户名:`root` * 密码:`password` 要登录站点,请导航至 http://localhost:8889/wp-admin。 * 用户名:`admin` * 密码:`password` **注意:** 如果使用 Codespaces,请从终端的“Ports”选项卡中打开端口转发的 URL,并在其后附加 `/wp-admin` 以登录站点。 生成新密码(推荐): 1. 转到控制台 2. 点击左侧的“用户”菜单 3. 点击 admin 用户下方的“编辑”链接 4. 向下滚动并点击“生成密码”。您可以直接使用此密码(推荐)或对其进行更改,然后点击“更新用户”。如果您使用生成的密码,请务必将其保存在某处(密码管理器等)。
标签:ffuf, MITM代理, OpenVAS, PHP, Syscall, Web开发, WordPress, 内容管理系统, 数据可视化, 暗色界面, 请求拦截