什么是webman
webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。
除此之外,webman还支持自定义进程,可以做workerman能做的任何事情,例如websocket服务、物联网、游戏、TCP服务、UDP服务、unix socket服务等等。
webman理念
以最小内核提供最大的扩展性与最强的性能。
webman仅提供最核心的功能(路由、中间件、session、自定义进程接口)。其余功能全部复用composer生态,这意味着你可以在webman里使用最熟悉的功能组件,例如在数据库方面开发者可以选择使用Laravel的illuminate/database,也可以是ThinkPHP的ThinkORM,还可以是其它组件如Medoo。在webman里集成他们是非常容易的事情。
webman具有以下特点
1.高稳定性。webman基于workerman开发,workerman一直是业界bug极少的高稳定性socket框架。
2.超高性能。webman性能高于传统php-fpm框架10-100倍左右,比go的gin/echo等框架性能高一倍左右。
3.高复用。无需修改,可以复用绝大部分composer组件及类库。
4.高扩展性。支持自定义进程,可以做workerman能做的任何事情。
5.超级简单易用,学习成本极低,代码书写与传统框架没有区别。
6.使用最为宽松友好的MIT开源协议。
webman-admin
webman-admin 是webman官方推出的一个基于webman+pear-admin-layui 开发的管理后台。支持权限设置、菜单生成(一键curd)、支持插件市场等。
安装 webman
环境需求
PHP >= 7.2
Composer >= 2.0
1、创建项目
composer create-project workerman/webman tinywan-cms
2、运行项目
进入tinywan-cms目录
cd tinywan-cms
windows用户
双击 windows.bat 或者运行 php windows.php 启动
提示如果有报错,很可能是有函数被禁用,参考函数禁用检查解除禁用
linux用户
debug方式运行(用于开发调试)
php start.php start
daemon方式运行(用于正式环境)
php start.php start -d
提示如果有报错,很可能是有函数被禁用,参考函数禁用检查解除禁用
启动成功后终端
3、访问项目
浏览器访问 http://http://127.0.0.1:8787/。打开以下界面标识安装成功
安装webman-admin
安装应用插件webman/admin
进入到webman目录下执行以下命令
composer require -W webman/admin $ composer require -W webman/admin --ignore-platform-req=ext-fileinfo ./composer.json has been updated Running composer update webman/admin --with-all-dependencies Loading composer repositories with package information Updating dependencies Lock file operations: 38 installs, 1 update, 0 removals - Installing guzzlehttp/promises (2.0.1): Extracting archive - Installing ralouphie/getallheaders (3.0.3): Extracting archive - Installing psr/http-message (2.0): Extracting archive - Installing psr/http-factory (1.0.2): Extracting archive - Installing guzzlehttp/psr7 (2.6.1): Extracting archive - Installing voku/portable-ascii (1.6.1): Extracting archive - Installing symfony/translation-contracts (v2.5.2): Extracting archive - Installing symfony/polyfill-php80 (v1.28.0): Extracting archive - Installing symfony/polyfill-mbstring (v1.28.0): Extracting archive - Installing symfony/deprecation-contracts (v2.5.2): Extracting archive - Installing symfony/translation (v5.4.24): Extracting archive - Installing psr/clock (1.0.0): Extracting archive - Installing nesbot/carbon (2.71.0): Extracting archive - Installing illuminate/macroable (v8.83.27): Extracting archive - Installing psr/simple-cache (1.0.1): Extracting archive - Downgrading psr/container (2.0.2 => 1.1.2): Extracting archive - Installing illuminate/contracts (v8.83.27): Extracting archive - Installing illuminate/collections (v8.83.27): Extracting archive - Installing doctrine/inflector (2.0.8): Extracting archive - Installing illuminate/support (v8.83.27): Extracting archive - Installing illuminate/pipeline (v8.83.27): Extracting archive - Installing illuminate/bus (v8.83.27): Extracting archive - Installing illuminate/container (v8.83.27): Extracting archive - Installing psr/http-client (1.0.3): Extracting archive - Installing symfony/polyfill-intl-normalizer (v1.28.0): Extracting archive - Installing symfony/polyfill-intl-grapheme (v1.28.0): Extracting archive - Installing symfony/polyfill-ctype (v1.28.0): Extracting archive - Installing symfony/string (v5.4.29): Extracting archive - Installing symfony/service-contracts (v2.5.2): Extracting archive - Installing symfony/polyfill-php73 (v1.28.0): Extracting archive - Installing symfony/console (v5.4.28): Extracting archive - Installing webman/event (v1.0.4): Extracting archive - Installing webman/captcha (v1.0.2): Extracting archive - Installing intervention/image (2.7.2): Extracting archive - Installing illuminate/pagination (v8.83.27): Extracting archive - Installing illuminate/events (v8.83.27): Extracting archive - Installing illuminate/database (v8.83.27): Extracting archive - Installing guzzlehttp/guzzle (7.8.0): Extracting archive - Installing webman/admin (v0.6.18): Extracting archive Create plugin/admin 26 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files 21 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found Using version ^0.6.18 for webman/admin
安装后需要restart重启webman。
注意:虽然本页面可以下载源码,但是推荐用composer安装,因为可以自动安装webman-admin的相关依赖。
访问 http://127.0.0.1:8787/app/admin 会自动进入安装页面,设置数据库及管理员账户.