aheinze/scriptlite-ext
Composer 安装命令:
pie install aheinze/scriptlite-ext
包简介
C extension for ScriptLite — high-performance ECMAScript interpreter with native C parser
README 文档
README
Mirror repository — this repo is automatically mirrored from aheinze/ScriptLite for PHP PIE installation. All development, issues, and pull requests happen in the main repository.
High-performance PHP extension for the ScriptLite ECMAScript interpreter. Replaces the PHP bytecode VM with a C implementation using computed-goto dispatch, delivering ~180x speedup.
The extension ships with a native C parser only (no PHP parser fallback), so no Composer autoloader or external PHP parser runtime is required at runtime.
Installation
Via PHP PIE (recommended)
pie install aheinze/scriptlite-ext
Manual build
Prerequisites: PHP 8.3+ dev headers, phpize, C11 compiler, libpcre2-dev, make.
phpize
./configure --enable-scriptlite
make -j"$(nproc)"
make install
Then enable:
extension=scriptlite
Verify
php -r "var_dump(extension_loaded('scriptlite'));" # bool(true) php -r "echo (new ScriptLiteExt\Engine())->eval('1 + 2');" # 3
Usage
Standalone (no PHP library needed)
$engine = new ScriptLiteExt\Engine(); $result = $engine->eval('Math.max(1, 2, 3)'); echo $result; // 3
With ScriptLite PHP library
When installed alongside aheinze/ScriptLite, the PHP Engine class automatically delegates to the C extension — no code changes needed.
$engine = new ScriptLite\Engine(); $result = $engine->eval('Math.max(1, 2, 3)'); // uses C extension transparently
API
ScriptLiteExt\Engine
| Method | Description |
|---|---|
eval(string $code, array $globals = []): mixed |
Evaluate JS code and return the result |
compile(string $code): CompiledScript |
Compile JS to bytecode |
run(CompiledScript $script, array $globals = []): mixed |
Execute compiled bytecode |
transpile(string $code): string |
Transpile JS to PHP code |
getOutput(): string |
Get captured console.log output |
ScriptLiteExt\Compiler
| Method | Description |
|---|---|
compile(Program $ast): CompiledScript |
Compile an AST to bytecode |
ScriptLiteExt\VirtualMachine
| Method | Description |
|---|---|
execute(CompiledScript $script, array $globals = []): mixed |
Execute compiled bytecode |
getOutput(): string |
Get captured console.log output |
License
MIT
aheinze/scriptlite-ext 适用场景与选型建议
aheinze/scriptlite-ext 是一款 基于 C 开发的 Composer 扩展包,目前已累计 4 次下载、GitHub Stars 达 2, 最近一次更新时间为 2026 年 03 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 aheinze/scriptlite-ext 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 aheinze/scriptlite-ext 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 22
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-05