安装

从一个空文件夹到一个运行中的Phlo应用程序只需两分钟,然后从那里到一个生产设置,带有工作模式、实时和集中管理。

本地开发

使用 Docker(最快)

$ docker run -it -v $(pwd)/app:/app ghcr.io/q-ainl/phlo php /phlo/install.php /app
$ docker run -p 80:80 -v $(pwd)/app:/app ghcr.io/q-ainl/phlo

更喜欢在localhost上使用HTTPS?Caddy提供一个本地证书;然后打开https://localhost并接受一次性的浏览器警告

$ docker run -e SERVER_NAME="localhost" -p 80:80 -p 443:443 -v $(pwd)/app:/app ghcr.io/q-ainl/phlo

或者从源代码

$ git clone https://github.com/q-ainl/phlo.git /opt/phlo
$ php /opt/phlo/install.php /var/www/example.com/

安装程序的作用

  • 询问名称、主机和您的应用所需的资源
  • 自动丢失资源之间的要求
  • 生成项目结构:源,数据,php 和 webroot
  • 只有在干净构建后才会结束,因此你总是从零开始

构建在每个请求时自动发生,也可以显式进行

$ php www/app.php build::run

包裹

所有组件也可以作为包使用。引擎、CMS 和仪表板通过 Composer:

$ composer require phlo/tech
$ composer require phlo/cms
$ composer require phlo/dashboard

守护进程(热工作者、实时和任务)和通过 npm 的 WhatsApp 桥接:

$ npm install phlo-daemon
$ npm install phlo-whatsapp

组合你的应用

选择资源和配置在浏览器中; 获取一个现成的 app.phlo, app.json 和 entry. 资源之间的依赖会自动解决.

资源

DOM21
general33
security11

www/app.php

data/app.json

app.phlo

开始一个演示

小型完整示例项目。作为 Docker 包下载并通过一个命令运行,或查看源代码。

Realtime poll

Realtime poll

一个实时投票,投票通过 Phlo Realtime 直接进入每个访客。 在 Learn 教程中逐步解释。

Presentation

Presentation

一个用于叙事演示和视频的音频时间线编辑器:Whisper 转录、AI 配音和一个 AI 导演,它会从你的媒体库中制作故事板。

CMS

CMS

一个基于模式的博客,带有管理员、媒体和关系,提供了一个填充的数据集。

WhatsApp

WhatsApp

一个通过 webhooks 接收和回复消息的 WhatsApp 机器人。

Trade

Trade

一个基于 MySQL 的市场:广告、类别和搜索过滤器。

产品架构

一个 Phlo 应用不是一个独立的脚本,而是服务器平台的一部分:FrankenPHP 在 worker 模式下,每个应用一个 vhost,实时和任务的可选守护进程,以及用于 fleet 概览的仪表板。与这个网站本身运行的设置相同。

并且在增长时,相同的设置水平扩展:应用层是无状态的,并且在负载均衡器后面以相同的方式运行,使用 Redis 或数据库中的会话,真正的扩展工作在数据层中。

自己设置服务器?在服务器设置页面上组合你的配置,并获得一个脚本,将一个干净的Debian机器转换为这个完整的平台:FrankenPHP,带有你的vhosts、数据库、守护进程、防火墙和可选的邮件服务器。

下一步

我们使用必要的cookie来使该网站正常工作。在您的许可下,我们还使用分析工具来改善网站。