Base 包
安装包含本地参考和全部已发布模式的完整包。
install doctordoctor如果同一个 lil-terminal 在两个主机账户上的表现不同,先运行 platform、extensions、files、repo 或 security。
doctor [group] [-q|-j]doctor检查全部项目
doctor platform显示 PHP、SAPI、限制、会话和 OPcache 检查
doctor extensions显示 PHP 扩展检查
doctor files检查项目路径、权限和存储
doctor repo检查 lil 仓库
doctor security检查 HTTPS、授权和 Cookie
-q仅显示警告和错误
-j返回机器可读的 JSON
可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。
安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。
Base 与 Minimum 是同一当前模块版本的两个包。
安装包含本地参考和全部已发布模式的完整包。
install doctor安装精简包。该包不包含本地参考;
install doctor -m安装这个确切的已发布版本。
install doctor -v 1.1.4让 upgrade 检查兼容性,仅在需要时替换已安装块。
upgrade doctor删除扩展块,不影响核心和其他模块。
install doctor -u示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。
doctor教学示例 — PHP 环境、服务器和仓库响应为模拟数据
PLATFORM
+ php 8.4.24 cli
+ memory -1
+ execution 0 s
+ upload upload 2M, post 8M
+ session /var/lib/php/sessions
! opcache disabled or unavailable
EXTENSIONS
+ session loaded
+ json loaded
+ tokenizer loaded
+ filter loaded
+ hash loaded
+ pcre loaded
! curl optional
+ openssl loaded
+ fileinfo loaded
! mbstring optional
! zip optional
+ phar loaded
! mysqli optional
! imap optional
+ exif loaded
! imagick optional
+ sodium loaded
+ zlib loaded
! bz2 optional
FILES
+ lil training-runtime/lil.php [w]
+ cwd sandbox [w]
+ base sandbox [w]
! extensions training-runtime/sandbox_fixture/extensions.php [ro]
+ temp /tmp [w]
+ disk 29.7 GB free of 31.5 GB
! asset-css not installed
! asset-js not installed
REPO
+ endpoint https://repo.lil.dog
! install-api undefined
+ installer latest v1.4.6
SECURITY
! https not detected
! authorization disabled build
+ display-errors 0
+ url-include
! expose-php 1
! cookie HttpOnly off, Secure off
+ lil-mode 0644
OK 27
WARN 16
FAIL 0doctor platform教学示例 — PHP 环境、服务器和仓库响应为模拟数据
+ php 8.4.24 cli
+ memory -1
+ execution 0 s
+ upload upload 2M, post 8M
+ session /var/lib/php/sessions
! opcache disabled or unavailable
OK 5
WARN 1
FAIL 0doctor extensions教学示例 — PHP 环境、服务器和仓库响应为模拟数据
+ session loaded
+ json loaded
+ tokenizer loaded
+ filter loaded
+ hash loaded
+ pcre loaded
! curl optional
+ openssl loaded
+ fileinfo loaded
! mbstring optional
! zip optional
+ phar loaded
! mysqli optional
! imap optional
+ exif loaded
! imagick optional
+ sodium loaded
+ zlib loaded
! bz2 optional
OK 12
WARN 7
FAIL 0doctor files教学示例 — PHP 环境、服务器和仓库响应为模拟数据
+ lil training-runtime/lil.php [w]
+ cwd sandbox [w]
+ base sandbox [w]
! extensions training-runtime/sandbox_fixture/extensions.php [ro]
+ temp /tmp [w]
+ disk 29.7 GB free of 31.5 GB
! asset-css not installed
! asset-js not installed
OK 5
WARN 3
FAIL 0doctor repo教学示例 — PHP 环境、服务器和仓库响应为模拟数据
+ endpoint https://repo.lil.dog
! install-api undefined
+ installer latest v1.4.6
OK 2
WARN 1
FAIL 0doctor security教学示例 — PHP 环境、服务器和仓库响应为模拟数据
! https not detected
! authorization disabled build
+ display-errors 0
+ url-include
! expose-php 1
! cookie HttpOnly off, Secure off
+ lil-mode 0644
OK 3
WARN 4
FAIL 0doctor -q教学示例 — PHP 环境、服务器和仓库响应为模拟数据
PLATFORM
! opcache disabled or unavailable
EXTENSIONS
! curl optional
! mbstring optional
! zip optional
! mysqli optional
! imap optional
! imagick optional
! bz2 optional
FILES
! extensions training-runtime/sandbox_fixture/extensions.php [ro]
! asset-css not installed
! asset-js not installed
REPO
! install-api undefined
SECURITY
! https not detected
! authorization disabled build
! expose-php 1
! cookie HttpOnly off, Secure off
OK 27
WARN 16
FAIL 0doctor -j教学示例 — PHP 环境、服务器和仓库响应为模拟数据
{
"summary": {
"ok": 27,
"warn": 16,
"fail": 0
},
"checks": [
{
"group": "platform",
"name": "php",
"status": "ok",
"detail": "8.4.24 cli"
},
{
"group": "platform",
"name": "memory",
"status": "ok",
"detail": "-1"
},
{
"group": "platform",
"name": "execution",
"status": "ok",
"detail": "0 s"
},
{
"group": "platform",
"name": "upload",
"status": "ok",
"detail": "upload 2M, post 8M"
},
{
"group": "platform",
"name": "session",
"status": "ok",
"detail": "/var/lib/php/sessions"
},
{
"group": "platform",
"name": "opcache",
"status": "warn",
"detail": "disabled or unavailable"
},
{
"group": "extensions",
"name": "session",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "json",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "tokenizer",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "filter",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "hash",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "pcre",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "curl",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "openssl",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "fileinfo",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "mbstring",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "zip",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "phar",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "mysqli",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "imap",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "exif",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "imagick",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "sodium",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "zlib",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "bz2",
"status": "warn",
"detail": "optional"
},
{
"group": "files",
"name": "lil",
"status": "ok",
"detail": "training-runtime/lil.php [w]"
},
{
"group": "files",
"name": "cwd",
"status": "ok",
"detail": "sandbox [w]"
},
{
"group": "files",
"name": "base",
"status": "ok",
"detail": "sandbox [w]"
},
{
"group": "files",
"name": "extensions",
"status": "warn",
"detail": "training-runtime/sandbox_fixture/extensions.php [ro]"
},
{
"group": "files",
"name": "temp",
"status": "ok",
"detail": "/tmp [w]"
},
{
"group": "files",
"name": "disk",
"status": "ok",
"detail": "29.7 GB free of 31.5 GB"
},
{
"group": "files",
"name": "asset-css",
"status": "warn",
"detail": "not installed"
},
{
"group": "files",
"name": "asset-js",
"status": "warn",
"detail": "not installed"
},
{
"group": "repo",
"name": "endpoint",
"status": "ok",
"detail": "https://repo.lil.dog"
},
{
"group": "repo",
"name": "install-api",
"status": "warn",
"detail": "undefined"
},
{
"group": "repo",
"name": "installer",
"status": "ok",
"detail": "latest v1.4.6"
},
{
"group": "security",
"name": "https",
"status": "warn",
"detail": "not detected"
},
{
"group": "security",
"name": "authorization",
"status": "warn",
"detail": "disabled build"
},
{
"group": "security",
"name": "display-errors",
"status": "ok",
"detail": "0"
},
{
"group": "security",
"name": "url-include",
"status": "ok",
"detail": ""
},
{
"group": "security",
"name": "expose-php",
"status": "warn",
"detail": "1"
},
{
"group": "security",
"name": "cookie",
"status": "warn",
"detail": "HttpOnly off, Secure off"
},
{
"group": "security",
"name": "lil-mode",
"status": "ok",
"detail": "0644"
}
]
}doctor platform -q教学示例 — PHP 环境、服务器和仓库响应为模拟数据
! opcache disabled or unavailable
OK 5
WARN 1
FAIL 0doctor extensions -j教学示例 — PHP 环境、服务器和仓库响应为模拟数据
{
"summary": {
"ok": 12,
"warn": 7,
"fail": 0
},
"checks": [
{
"group": "extensions",
"name": "session",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "json",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "tokenizer",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "filter",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "hash",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "pcre",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "curl",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "openssl",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "fileinfo",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "mbstring",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "zip",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "phar",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "mysqli",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "imap",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "exif",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "imagick",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "sodium",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "zlib",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "bz2",
"status": "warn",
"detail": "optional"
}
]
}doctor security -q教学示例 — PHP 环境、服务器和仓库响应为模拟数据
! https not detected
! authorization disabled build
! expose-php 1
! cookie HttpOnly off, Secure off
OK 3
WARN 4
FAIL 0doctor -q -j教学示例 — PHP 环境、服务器和仓库响应为模拟数据
{
"summary": {
"ok": 27,
"warn": 16,
"fail": 0
},
"checks": [
{
"group": "platform",
"name": "opcache",
"status": "warn",
"detail": "disabled or unavailable"
},
{
"group": "extensions",
"name": "curl",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "mbstring",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "zip",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "mysqli",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "imap",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "imagick",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "bz2",
"status": "warn",
"detail": "optional"
},
{
"group": "files",
"name": "extensions",
"status": "warn",
"detail": "training-runtime/sandbox_fixture/extensions.php [ro]"
},
{
"group": "files",
"name": "asset-css",
"status": "warn",
"detail": "not installed"
},
{
"group": "files",
"name": "asset-js",
"status": "warn",
"detail": "not installed"
},
{
"group": "repo",
"name": "install-api",
"status": "warn",
"detail": "undefined"
},
{
"group": "security",
"name": "https",
"status": "warn",
"detail": "not detected"
},
{
"group": "security",
"name": "authorization",
"status": "warn",
"detail": "disabled build"
},
{
"group": "security",
"name": "expose-php",
"status": "warn",
"detail": "1"
},
{
"group": "security",
"name": "cookie",
"status": "warn",
"detail": "HttpOnly off, Secure off"
}
]
}doctor --json教学示例 — PHP 环境、服务器和仓库响应为模拟数据
{
"summary": {
"ok": 27,
"warn": 16,
"fail": 0
},
"checks": [
{
"group": "platform",
"name": "php",
"status": "ok",
"detail": "8.4.24 cli"
},
{
"group": "platform",
"name": "memory",
"status": "ok",
"detail": "-1"
},
{
"group": "platform",
"name": "execution",
"status": "ok",
"detail": "0 s"
},
{
"group": "platform",
"name": "upload",
"status": "ok",
"detail": "upload 2M, post 8M"
},
{
"group": "platform",
"name": "session",
"status": "ok",
"detail": "/var/lib/php/sessions"
},
{
"group": "platform",
"name": "opcache",
"status": "warn",
"detail": "disabled or unavailable"
},
{
"group": "extensions",
"name": "session",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "json",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "tokenizer",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "filter",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "hash",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "pcre",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "curl",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "openssl",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "fileinfo",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "mbstring",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "zip",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "phar",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "mysqli",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "imap",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "exif",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "imagick",
"status": "warn",
"detail": "optional"
},
{
"group": "extensions",
"name": "sodium",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "zlib",
"status": "ok",
"detail": "loaded"
},
{
"group": "extensions",
"name": "bz2",
"status": "warn",
"detail": "optional"
},
{
"group": "files",
"name": "lil",
"status": "ok",
"detail": "training-runtime/lil.php [w]"
},
{
"group": "files",
"name": "cwd",
"status": "ok",
"detail": "sandbox [w]"
},
{
"group": "files",
"name": "base",
"status": "ok",
"detail": "sandbox [w]"
},
{
"group": "files",
"name": "extensions",
"status": "warn",
"detail": "training-runtime/sandbox_fixture/extensions.php [ro]"
},
{
"group": "files",
"name": "temp",
"status": "ok",
"detail": "/tmp [w]"
},
{
"group": "files",
"name": "disk",
"status": "ok",
"detail": "29.7 GB free of 31.5 GB"
},
{
"group": "files",
"name": "asset-css",
"status": "warn",
"detail": "not installed"
},
{
"group": "files",
"name": "asset-js",
"status": "warn",
"detail": "not installed"
},
{
"group": "repo",
"name": "endpoint",
"status": "ok",
"detail": "https://repo.lil.dog"
},
{
"group": "repo",
"name": "install-api",
"status": "warn",
"detail": "undefined"
},
{
"group": "repo",
"name": "installer",
"status": "ok",
"detail": "latest v1.4.6"
},
{
"group": "security",
"name": "https",
"status": "warn",
"detail": "not detected"
},
{
"group": "security",
"name": "authorization",
"status": "warn",
"detail": "disabled build"
},
{
"group": "security",
"name": "display-errors",
"status": "ok",
"detail": "0"
},
{
"group": "security",
"name": "url-include",
"status": "ok",
"detail": ""
},
{
"group": "security",
"name": "expose-php",
"status": "warn",
"detail": "1"
},
{
"group": "security",
"name": "cookie",
"status": "warn",
"detail": "HttpOnly off, Secure off"
},
{
"group": "security",
"name": "lil-mode",
"status": "ok",
"detail": "0644"
}
]
}doctor repo -j教学示例 — PHP 环境、服务器和仓库响应为模拟数据
{
"summary": {
"ok": 2,
"warn": 1,
"fail": 0
},
"checks": [
{
"group": "repo",
"name": "endpoint",
"status": "ok",
"detail": "https://repo.lil.dog"
},
{
"group": "repo",
"name": "install-api",
"status": "warn",
"detail": "undefined"
},
{
"group": "repo",
"name": "installer",
"status": "ok",
"detail": "latest v1.4.6"
}
]
}doctor unknown教学示例 — PHP 环境、服务器和仓库响应为模拟数据
?doctor -z教学示例 — PHP 环境、服务器和仓库响应为模拟数据
?doctor platform extensions教学示例 — PHP 环境、服务器和仓库响应为模拟数据
?doctor files -q教学示例 — PHP 环境、服务器和仓库响应为模拟数据
! extensions training-runtime/sandbox_fixture/extensions.php [ro]
! asset-css not installed
! asset-js not installed
OK 5
WARN 3
FAIL 0