craft.yml 配置详解
yaml
# PHP version to build (default: 8.5)
php-version: 8.5
# [REQUIRED] Static PHP extensions to build (list or comma-separated are both accepted)
extensions: bcmath,fileinfo,phar,zlib,sodium,posix,pcntl
# Extra packages to build (list or comma-separated are both accepted)
packages: [ ]
# [REQUIRED] Build SAPIs (list or comma-separated are both accepted)
# Available: cli, micro, fpm, embed, frankenphp, cgi, all
sapi: cli,micro,fpm
# Show full console output (default: false)
debug: false
# Before build, remove all old build files and sources (default: false)
clean-build: false
# Build options (same as `build:php` command options, all options are optional)
build-options:
# Build with all suggested packages (libraries and extensions) as well (default: false)
with-suggests: false
# Build extra shared extensions (comma-separated string)
build-shared: ""
# Build without stripping the binary (default: false)
no-strip: false
# Disable Opcache JIT (default: false)
disable-opcache-jit: false
# Enable thread-safe (ZTS) support (default: false)
enable-zts: false
# Disable smoke test, or for specific SAPIs comma-separated (default: false)
no-smoke-test: false
# PHP configuration options (same as --with-config-file-path)
with-config-file-path: ""
# PHP configuration options (same as --with-config-file-scan-dir)
with-config-file-scan-dir: ""
# Hardcoded INI options for cli and micro SAPI (e.g. "memory_limit=4G", list accepted)
with-hardcoded-ini: [ ]
# Pretend micro SAPI as cli SAPI to avoid some frameworks to limit the usage of micro SAPI
with-micro-fake-cli: false
# Additional patch point injection files (e.g. "path/to/patch.php", list accepted)
with-added-patch: [ ]
# Ignore micro extension tests (if you are using micro SAPI, default: false)
without-micro-ext-test: false
# UPX pack the binary (default: false)
with-upx-pack: false
# Set the micro.exe program icon (only for Windows, default: "")
with-micro-logo: ""
# Set micro SAPI as win32 mode, without this, micro SAPI will be compiled as a console application (only for Windows, default: false)
enable-micro-win32: false
# Path to a folder to be embedded in FrankenPHP (frankenphp SAPI only)
with-frankenphp-app: ""
# Build options for shared extensions (list or comma-separated are both accepted)
shared-extensions: [ ]
# Download options
download-options:
# Number of parallel downloads (default: 1)
parallel: 1
# Retries count for downloading sources (default: 0)
retry: 0
# Prefer source downloads when both source and binary are available (default: false)
prefer-source: false
# Prefer binary downloads when both source and binary are available (default: false)
prefer-binary: false
# Only download source artifacts, skip binary artifacts (default: false)
source-only: false
# Only download binary artifacts, skip source artifacts (default: false)
binary-only: false
# Ignore download cache for specified packages, comma separated (default: false)
ignore-cache: false
# Do not use alternative mirror download sources (default: false)
no-alt: false
# Do not clone shallowly repositories when downloading sources (default: false)
no-shallow-clone: false
# Use custom url for specified sources, format: "{source-name}:{url}" (e.g. "php-src:https://example.com/php-8.4.0.tar.gz")
custom-url: [ ]
# Use custom git repo for specified sources, format: "{source-name}:{branch}:{url}" (e.g. "php-src:master:https://github.com/php/php-src.git")
custom-git: [ ]
# Use custom local source path, format: "{source-name}:{path}" (e.g. "php-src:/path/to/php-src")
custom-local: [ ]
craft-options:
doctor: true
download: true
# Extra environment variables
extra-env:
# e.g. Use github token to avoid rate limit
GITHUB_TOKEN: your-github-token