runchance / rcmaker-php
High-performance PHP applications with project initialization, isolated app processes and standalone delivery.
Package info
github.com/runchance/rcmaker-php
Type:composer-plugin
pkg:composer/runchance/rcmaker-php
Requires
- php: >=8.5.12
- composer-plugin-api: ^2.2
- nikic/fast-route: ^1.3
- workerman/workerman: ^5.2.3
Requires (Dev)
None
Suggests
- catfan/medoo: Optional stable ^2.6.1; RC adapters keep the bundled fallback and PostgreSQL table-scoped identity handling.
- dragonmantank/cron-expression: Optional exact stable 3.6.1; RC preserves second-level rules and day-field AND matching with separate adapters.
- gregwar/captcha: Optional external Captcha 2.1.x; the bundled pristine engine is used otherwise.
- illuminate/database: Optional stable 13.40.0 Eloquent/query builder; tested 13.39.0 remains supported. Enable RC\Helper\Db\Laravel in bootstrap.
- illuminate/events: Optional stable 13.40.0 for Eloquent observers and deferred transaction events; tested 13.39.0 remains supported.
- illuminate/pagination: Optional stable 13.40.0 for native paginator APIs; tested 13.39.0 remains supported. SDB keeps its RC paginator.
- illuminate/view: Optional stable 13.40.0 for RC\Helper\View\Blade; tested 13.39.0 remains supported. Not a full Laravel application.
- jasongrimes/paginator: Optional exact stable 1.0.3 page-window engine; RC supplies validation, safe HTML and simple/data/JSON contracts.
- mix/database: Optional exact stable 3.0.23 primitives; use the RC PHP 8.5 compatibility API rather than the unmodified native query core.
- mix/object-pool: Optional exact stable 3.0.27; historical pools still require Swoole and do not enable Workerman coroutines.
- mongodb/laravel-mongodb: Optional exact stable 5.12.0 plus ext-mongodb; RC document models use RC\Model\MongoDB.
- overtrue/pinyin: Optional exact stable 6.0.1; RC preserves legacy string APIs and adapts PHAR dictionaries without editing native sources.
- predis/predis: Optional stable 3.7+ synchronous Redis/cache/queue client when ext-redis is unavailable.
- smarty/smarty: Optional exact stable 5.8.5; pristine bundled fallback, isolated RC template data and PHAR file-resource support.
- symfony/http-foundation: Optional stable 8.1.10+ (8.1.x) IpUtils/HeaderUtils for trusted proxies and multipart parameters; unchanged bundled utilities are used otherwise.
- symfony/stopwatch: Optional external Stopwatch 8.1.x; compatible Composer sources take precedence over the bundled fallback.
- topthink/think-orm: Optional ThinkORM engine and models (^4.0.51); enable RC\Helper\Db\Think in bootstrap.
- topthink/think-template: Optional exact stable 3.0.2; pristine bundled fallback, fresh per-render RC engines and atomic compile-cache writes.
- twig/twig: Optional exact stable 3.30.0 for RC\Helper\View\Twig; not bundled.
- workerman/globaldata: Optional exact stable 1.0.6 engine; use RC\Helper\GlobalData adapters for bounded, object-free transport.
- workerman/redis: Optional exact stable 2.1.0; queue adapters use callback mode without introducing coroutine requirements.
- workerman/redis-queue: Optional exact stable 1.2.2; RC keeps isolated connections and atomic delayed promotion in its adapter.
- zxf/captcha: Optional exact 1.1.0 slider engine; RC isolates native sessions and supplies its own offline widget.
Provides
None
Conflicts
- avadim/fast-excel-helper: <1.4.0 || >=2.0
- avadim/fast-excel-reader: <4.5.0 || >=5.0
- catfan/medoo: <2.6.1 || >=3.0
- dragonmantank/cron-expression: !=3.6.1
- firebase/php-jwt: <7.2.1 || >=8.0
- gregwar/captcha: <2.1.1 || >=2.2
- illuminate/database: !=13.39.0, !=13.40.0
- illuminate/events: !=13.39.0, !=13.40.0
- illuminate/pagination: !=13.39.0, !=13.40.0
- illuminate/view: !=13.39.0, !=13.40.0
- jasongrimes/paginator: !=1.0.3
- mix/database: !=3.0.23
- mix/object-pool: !=3.0.27
- mix/redis: !=3.0.11
- mk-j/php_xlsxwriter: <0.39 || >=0.40
- mongodb/laravel-mongodb: !=5.12.0
- overtrue/pinyin: !=6.0.1
- php-curl-class/php-curl-class: !=13.0.1
- phpmailer/phpmailer: <7.1.1 || >=8.0
- predis/predis: <3.7.0 || >=4.0
- runchance/rcmaker-framework: *
- smarty/smarty: !=5.8.5
- symfony/http-foundation: <8.1.10 || >=8.2
- symfony/stopwatch: <8.1 || >=8.2
- tecnickcom/tc-lib-barcode: <2.17.3 || >=3.0
- tecnickcom/tc-lib-color: <3.0.14 || >=4.0
- tecnickcom/tc-lib-file: <3.9.10 || >=4.0
- tecnickcom/tc-lib-pdf: <8.83.0 || >=9.0
- tecnickcom/tc-lib-pdf-encrypt: <2.12.2 || >=3.0
- tecnickcom/tc-lib-pdf-filter: <2.11.9 || >=3.0
- tecnickcom/tc-lib-pdf-font: <4.8.0 || >=5.0
- tecnickcom/tc-lib-pdf-graph: <2.18.7 || >=3.0
- tecnickcom/tc-lib-pdf-image: <3.15.3 || >=4.0
- tecnickcom/tc-lib-pdf-page: <4.18.1 || >=5.0
- tecnickcom/tc-lib-pdf-parser: <3.16.7 || >=4.0
- tecnickcom/tc-lib-pdf-sign: <2.0.10 || >=3.0
- tecnickcom/tc-lib-unicode: <3.2.3 || >=4.0
- tecnickcom/tc-lib-unicode-data: <3.1.3 || >=4.0
- tecnickcom/tcpdf: <7.0.21 || >=8.0
- topthink/think-cache: <3.0.1 || >=4.0
- topthink/think-container: <3.0.2 || >=4.0
- topthink/think-helper: <3.1.12 || >=4.0
- topthink/think-orm: <4.0.51 || >=5.0
- topthink/think-template: !=3.0.2
- twig/twig: !=3.30.0
- workerman/globaldata: !=1.0.6
- workerman/redis: !=2.1.0
- workerman/redis-queue: !=1.2.2
- zxf/captcha: !=1.1.0
Replaces
None
This package is auto-updated.
Last update: 2026-11-05 10:44:56 UTC
README
用 PHP 快速开发,像 Go 应用一样交付。
简体中文 | English
RCMAKER 是面向快速交付的 PHP 常驻内存应用框架。继续使用熟悉的 PHP 与 Composer 生态,开发接口、后台和多应用系统;交付时,将运行环境、代码与依赖封装为支持代码保护的独立可执行程序。目标机器无需另装 PHP,直接启动。
runchance/rcmaker-php 将框架核心、项目模板和交互式工具统一维护。安装依赖后,由框架生成应用目录和配置,不再单独维护一套项目壳。生成后的业务与配置归项目所有,更新框架不会自动覆盖它们。
核心优势
| 能力 | 带来的价值 |
|---|---|
| 常驻内存,高效并发 | 减少每次请求的重复加载与初始化,基于 Workerman 处理高频接口和长期运行任务 |
| 独立程序交付 | 打包 PHP、代码和依赖;支持 Linux、macOS、Windows,可按需精简内置组件 |
| 源码与静态资源保护 | 按需加密 PHP 和静态资源,源码开发、打包保护,便于产品分发 |
| 多应用与独立进程组 | 按业务配置端口、进程数和重启策略;多个应用也可共享一组进程 |
| 静态应用与预热 | 支持独立静态站点;Linux fork 前全局预热,Windows 按应用进程组预热 |
| 丰富的内置组件 | 验证器、自动表单、SDB、JWT、缓存、Curl、验证码、Excel、PDF 等,少做重复封装 |
| 交互式项目工具 | 打包、加密、注册服务、签名密钥、AI DevKit,通过 interact 完成 |
| 免费开源 | Apache License 2.0,保留 PHP 与 Composer 生态的选择空间 |
高并发能力取决于硬件、进程配置与业务开销,空接口压测不等于数据库业务性能。支持代码保护也不代表程序无法被逆向分析。
快速开始
需要 PHP 8.5.12 或更高版本及 Composer 2.2+,只使用第三方稳定版。默认采用内置 Medoo + SQLite、文件缓存和文件 Session,不需要另装数据库服务或 Redis;PHP 需启用 pdo_sqlite。
mkdir my-app
cd my-app
composer require runchance/rcmaker-php
php index.php start
首次安装时,允许 Composer 加载本包插件,再确认初始化。访问 http://127.0.0.1:8680/,看到 Hello rcmaker! 即可开始开发。
Windows 初始化时还会生成 windows.bat,支持双击启动。.env 只保留最小运行配置,完整选项查阅 .env.example,按需添加,不自动启用外部服务。
禁用插件或跳过初始化时,手动执行:
php vendor/bin/rcmaker init composer dump-autoload php index.php start
日常交付操作使用:
php index.php interact
开发环境可以使用 SQLite / File,Linux 生产环境按配置切换 MySQL、PostgreSQL、Redis,不把驱动写死在业务代码中。需要 AI 辅助开发时,可在 interact 中安装 RCMAKER AI DevKit。
操作手册
| 目标 | 在线说明 |
|---|---|
| 安装 PHP、Composer 并启动 | 安装与启动 |
| 了解初始化及文件保护规则 | 项目初始化 |
| 从旧 rcmaker / rcmaker-framework 切换 | 老项目迁移步骤 |
| 编写业务与使用内置组件 | 5 分钟开始 · 组件手册 |
| 拆分动态、静态应用 | 应用进程组 · 静态预热 |
| 打包与部署产品 | 交互式项目工具 · 按需打包 |
老项目不要直接覆盖 .env、配置或替换 vendor/。迁移工具只调整依赖清单并保留备份,先在项目副本中验证,再发布。