mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-07 08:45:40 +08:00
Update docs
This commit is contained in:
@@ -18,6 +18,7 @@ static-php-cli 的下载资源模块是一个主要的功能,它包含了所
|
||||
"type": "ghrel",
|
||||
"repo": "libevent/libevent",
|
||||
"match": "libevent.+\\.tar\\.gz",
|
||||
"provide-pre-built": true,
|
||||
"license": {
|
||||
"type": "file",
|
||||
"path": "LICENSE"
|
||||
@@ -44,6 +45,7 @@ source.json 中每个源文件拥有以下字段:
|
||||
- `license`: 源代码的开源许可证,见下方 **开源许可证** 章节
|
||||
- `type`: 必须为上面提到的类型之一
|
||||
- `path`(可选): 释放源码到指定目录而非 `source/{name}`
|
||||
- `provide-pre-built`(可选): 是否提供预编译的二进制文件,如果为 `true`,则会在 `bin/spc download` 时尝试自动下载预编译的二进制文件
|
||||
|
||||
::: tip
|
||||
`source.json` 中的 `path` 参数可指定相对路径或绝对路径。当指定为相对路径时,路径基于 `source/`。
|
||||
|
||||
@@ -14,7 +14,7 @@ static-php-cli 主要包含三种逻辑组件:资源、依赖库、扩展。
|
||||
项目主要分为几个文件夹:
|
||||
|
||||
- `bin/`: 用于存放程序入口文件,包含 `bin/spc`、`bin/spc-alpine-docker`、`bin/setup-runtime`。
|
||||
- `config/`: 包含了所有项目支持的扩展、依赖库以及这些资源下载的地址、下载方式等,分为四个文件:`lib.json`、`ext.json`、`source.json`、`pkg.json`。
|
||||
- `config/`: 包含了所有项目支持的扩展、依赖库以及这些资源下载的地址、下载方式等,:`lib.json`、`ext.json`、`source.json`、`pkg.json`、`pre-built.json`。
|
||||
- `src/SPC/`: 项目的核心代码,包含了整个框架以及编译各种扩展和库的命令。
|
||||
- `src/globals/`: 项目的全局方法和常量、运行时需要的测试文件(例如:扩展的可用性检查代码)。
|
||||
- `vendor/`: Composer 依赖的目录,你无需对它做出任何修改。
|
||||
|
||||
@@ -135,6 +135,9 @@ bin/spc download --for-libs=liblz4,libevent --without-suggestions
|
||||
# 下载资源时,忽略部分资源的缓存,强制下载(如切换 PHP 版本)
|
||||
bin/spc download --for-extensions=curl,pcntl,xml --ignore-cache-sources=php-src --with-php=8.3
|
||||
|
||||
# 下载资源时,优先下载有预编译包的依赖库(减少编译依赖的时间)
|
||||
bin/spc download --for-extensions="curl,pcntl,xml,mbstring" --prefer-pre-built
|
||||
|
||||
# 下载所有依赖包
|
||||
bin/spc download --all
|
||||
|
||||
@@ -346,6 +349,8 @@ bin/spc extract php-src,libxml2
|
||||
- `dev:sort-config`: 对 `config/` 目录下的配置文件的列表按照字母表排序
|
||||
- `dev:lib-ver <lib-name>`: 从依赖库的源码中读取版本(仅特定依赖库可用)
|
||||
- `dev:ext-ver <ext-name>`: 从扩展的源码中读取对应版本(仅特定扩展可用)
|
||||
- `dev:pack-lib <lib-name>`: 打包指定的依赖库(仅发布者可用)
|
||||
- `dev:gen-ext-docs`: 生成扩展文档(仅发布者可用)
|
||||
|
||||
```bash
|
||||
# 输出所有扩展
|
||||
@@ -466,3 +471,12 @@ memory_limit => 8G => 8G
|
||||
::: tip
|
||||
static-php-cli 开放的方法非常多,文档中无法一一列举,但只要是 `public function` 并且不被标注为 `@internal`,均可调用。
|
||||
:::
|
||||
|
||||
## 多次构建
|
||||
|
||||
如果你在本地要多次构建,以下方法可以为你节省下载资源、编译的时间。
|
||||
|
||||
- 仅切换 PHP 版本,不更换依赖库版本时,可以使用 `bin/spc switch-php-version` 快速切换 PHP 版本,然后重新运行同样的 `build` 命令。
|
||||
- 如果你想重新构建一次,但不重新下载源码,可以先 `rm -rf buildroot source` 删除编译目录和源码目录,然后重新构建。
|
||||
- 如果你想更新某个依赖的版本,可以使用 `bin/spc del-download <source-name>` 删除指定的源码,然后使用 `download <source-name>` 重新下载。
|
||||
- 如果你想更新所有依赖的版本,可以使用 `bin/spc download --clean` 删除所有下载的源码,然后重新下载。
|
||||
|
||||
Reference in New Issue
Block a user