承接 kieranbrown/laraworker 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kieranbrown/laraworker

最新稳定版本:v1.5.4

Composer 安装命令:

composer require kieranbrown/laraworker

包简介

Run Laravel on Cloudflare Workers via php-cgi-wasm

README 文档

README

PHP 8.5+ Laravel 12 License: MIT

Deploy Laravel applications to Cloudflare Workers via PHP WASM.

Laraworker packages your Laravel app into a compressed tar archive, then runs it on Cloudflare Workers using php-cgi-wasm. On each request, the Worker unpacks the app into an in-memory filesystem and processes it through the PHP WASM runtime — no traditional server required.

Requirements

Installation

composer require kieranbrown/laraworker

Then run the install command to configure your project:

php artisan laraworker:install

This will:

  • Publish the config/laraworker.php configuration file
  • Add build scripts and dependencies to package.json
  • Update .gitignore to exclude the .laraworker/ build directory
  • Install npm dependencies (php-cgi-wasm, wrangler, etc.)
  • Run an initial build into .laraworker/

Configuration

After installation, configure your setup in config/laraworker.php:

return [
    // PHP extensions to include in the WASM bundle
    'extensions' => [
        'mbstring' => true,   // ~742 KiB gzipped
        'openssl' => true,    // ~936 KiB gzipped
    ],

    // Directories included in the app bundle (relative to project root)
    'include_dirs' => [
        'app',
        'bootstrap',
        'config',
        'database',
        'routes',
        'resources/views',
        'vendor',
    ],

    // Individual files to include
    'include_files' => [
        'public/index.php',
        'artisan',
        'composer.json',
    ],

    // Regex patterns for files to exclude
    'exclude_patterns' => [
        '/\.git\//',
        '/\/node_modules\//',
        '/\/tests\//',
        // ...
    ],
];

Wrangler Configuration

Deployment settings like worker_name, account_id, and compatibility_date are configured in config/laraworker.php. The wrangler.jsonc is auto-generated into .laraworker/ at build time from these config values.

Usage

Laraworker provides five Artisan commands:

laraworker:install

Configure the project for Cloudflare Workers and run an initial build.

php artisan laraworker:install
php artisan laraworker:install --force  # Overwrite existing files

laraworker:build

Build the Laravel application for production deployment. Caches config, routes, and views, then packages everything into app.tar.gz.

php artisan laraworker:build

laraworker:dev

Build and start a local development server using wrangler dev.

php artisan laraworker:dev

laraworker:deploy

Build and deploy to Cloudflare Workers.

php artisan laraworker:deploy
php artisan laraworker:deploy --dry-run  # Build without deploying

laraworker:status

Check installation status, bundle sizes, and tier compatibility.

php artisan laraworker:status

How It Works

  1. Build — Your Laravel app is optimized (cached config/routes/views, classmap autoload) and packaged into a compressed app.tar.gz
  2. Deploy — The archive and PHP WASM binary are deployed to Cloudflare Workers as static assets
  3. Request — On cold start, the Worker fetches app.tar.gz, unpacks it into an in-memory filesystem (MEMFS), and boots the PHP runtime
  4. Process — Each HTTP request is routed through php-cgi-wasm, which executes your Laravel application and returns the response

The entire bundle (WASM binary + app archive + Worker code) fits within Cloudflare Workers' free tier limit of 3 MB.

Custom Domain Setup

To serve your app from a custom domain, configure your Cloudflare account with the domain and set up routes. The wrangler.jsonc is auto-generated at build time from config/laraworker.php — for advanced wrangler settings, you can customize the stubs/wrangler.jsonc.stub template.

Make sure your domain is added to your Cloudflare account and DNS is configured.

Extensions

Two PHP extensions can be toggled in config/laraworker.php:

Extension Default Size Impact
mbstring Enabled ~742 KiB gzipped
openssl Enabled ~936 KiB gzipped

Disabling unused extensions reduces your bundle size, which can help stay within Cloudflare's tier limits.

License

Laraworker is open-sourced software licensed under the MIT license.

统计信息

  • 总下载量: 34
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 6
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: JavaScript

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固