mirror of
https://github.com/zhamao-robot/zhamao-framework.git
synced 2026-03-17 20:54:52 +08:00
1 line
10 KiB
JavaScript
1 line
10 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[55],{766:function(a,s,e){"use strict";e.r(s);var r=e(84),t=Object(r.a)({},(function(){var a=this,s=a._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":a.$parent.slotKey}},[s("h1",{attrs:{id:"安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#安装"}},[a._v("#")]),a._v(" 安装")]),a._v(" "),s("p",[a._v("我们希望尽可能轻松地使用炸毛,不论是本地开发或是部署都提供多种选择,尽量覆盖所有需求。")]),a._v(" "),s("ul",[s("li",[a._v("一键脚本")]),a._v(" "),s("li",[a._v("Docker")]),a._v(" "),s("li",[a._v("Composer")]),a._v(" "),s("li",[a._v("Phar 发行模式")])]),a._v(" "),s("h2",{attrs:{id:"一键脚本"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#一键脚本"}},[a._v("#")]),a._v(" 一键脚本")]),a._v(" "),s("p",[a._v("炸毛框架提供了一键脚本来设置运行环境并拉取脚手架,帮助你快速进行开发。")]),a._v(" "),s("p",[a._v("如果检测到本机未安装 PHP 或不符合运行要求,脚本将会自动拉取提前编译好的静态 PHP 运行时。")]),a._v(" "),s("div",{staticClass:"language-shell line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# 将静态 PHP 和框架安装在当前目录(适用于 Linux、macOS)")]),a._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("bash")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("<")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v("(")]),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("curl")]),a._v(" "),s("span",{pre:!0,attrs:{class:"token parameter variable"}},[a._v("-fsSL")]),a._v(" https://zhamao.xin/v3.sh"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(")")]),a._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# 安装完成后启动")]),a._v("\n./zhamao server\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br")])]),s("blockquote",[s("p",[a._v("关于静态运行时的更多用法,请参见 这里是链接")])]),a._v(" "),s("h2",{attrs:{id:"docker"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#docker"}},[a._v("#")]),a._v(" Docker")]),a._v(" "),s("p",[a._v("待完善")]),a._v(" "),s("h2",{attrs:{id:"composer"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#composer"}},[a._v("#")]),a._v(" Composer")]),a._v(" "),s("p",[a._v("如果你已经有了必要的 PHP 环境和 Composer 工具,你可以直接在任意目录下初始化框架。")]),a._v(" "),s("div",{staticClass:"language-shell line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-shell"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("# 在当前目录初始化框架")]),a._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[a._v("composer")]),a._v(" require zhamao/framework\n./vendor/bin/zhamao init\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 安装完成后启动")]),a._v("\n./zhamao server\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[a._v("## 生成新插件脚手架,用于开发")]),a._v("\n./zhamao plugin:make\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br"),s("span",{staticClass:"line-number"},[a._v("5")]),s("br"),s("span",{staticClass:"line-number"},[a._v("6")]),s("br"),s("span",{staticClass:"line-number"},[a._v("7")]),s("br"),s("span",{staticClass:"line-number"},[a._v("8")]),s("br"),s("span",{staticClass:"line-number"},[a._v("9")]),s("br")])]),s("h2",{attrs:{id:"phar-发行模式"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#phar-发行模式"}},[a._v("#")]),a._v(" Phar 发行模式")]),a._v(" "),s("p",[a._v("如果你对框架本身不感兴趣,只是想使用框架提供的功能,你可以直接下载 Phar 发行模式的框架,然后在任意目录下使用。")]),a._v(" "),s("p",[a._v("你可以到 GitHub Release 下载框架的自动打包 Phar 版本,同时下载一个静态的 PHP 运行时,然后将二者放在同一目录下,即可使用。\n但请注意,测试版一般不会发布 Phar 包,因此你需要自行构建。")]),a._v(" "),s("p",[a._v("如果你的操作系统已经安装好了 PHP 并设置了环境变量,你也可以直接使用 "),s("code",[a._v("./zhamao.phar")]),a._v(" 来运行框架。")]),a._v(" "),s("blockquote",[s("p",[a._v("如果在 Linux、macOS 环境下提示权限不足,请使用 "),s("code",[a._v("chmod +x zhamao.phar")]),a._v(" 来授予执行权限。")])]),a._v(" "),s("h2",{attrs:{id:"windows-安装方法"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#windows-安装方法"}},[a._v("#")]),a._v(" Windows 安装方法")]),a._v(" "),s("p",[a._v("由于 Windows 系统下的 PHP 环境配置较为复杂,我们推荐使用 Docker 或一键脚本来进行安装。")]),a._v(" "),s("p",[a._v("如果你打算在 Windows 使用原生的 Win 环境 PHP,你需要先安装 PHP 和 Composer,然后在任意目录下执行上方 composer 的安装方法即可。")]),a._v(" "),s("h3",{attrs:{id:"包管理安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#包管理安装"}},[a._v("#")]),a._v(" 包管理安装")]),a._v(" "),s("p",[a._v("Windows 也可以使用包管理安装 PHP、Composer,例如你可以使用 Scoop 包管理进行安装:")]),a._v(" "),s("div",{staticClass:"language-powershell line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-powershell"}},[s("code",[a._v("scoop install php\nscoop install composer\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br")])]),s("p",[a._v("采用这种包管理安装后,可直接使用 "),s("code",[a._v("php")]),a._v("、"),s("code",[a._v("composer")]),a._v(" 命令在任意位置,无需配置环境变量。")]),a._v(" "),s("p",[a._v("如果你使用包管理或已经安装了 PHP 到系统内,接下来就直接使用 Composer 来安装框架即可!")]),a._v(" "),s("div",{staticClass:"language-powershell line-numbers-mode"},[s("pre",{pre:!0,attrs:{class:"language-powershell"}},[s("code",[a._v("composer create-project zhamao/framework-starter zhamao-v3\ncd zhamao-v3\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(".")]),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("zhamao plugin:make\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[a._v(".")]),s("span",{pre:!0,attrs:{class:"token operator"}},[a._v("/")]),a._v("zhamao server\n")])]),a._v(" "),s("div",{staticClass:"line-numbers-wrapper"},[s("span",{staticClass:"line-number"},[a._v("1")]),s("br"),s("span",{staticClass:"line-number"},[a._v("2")]),s("br"),s("span",{staticClass:"line-number"},[a._v("3")]),s("br"),s("span",{staticClass:"line-number"},[a._v("4")]),s("br")])]),s("h3",{attrs:{id:"纯手动安装"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#纯手动安装"}},[a._v("#")]),a._v(" 纯手动安装")]),a._v(" "),s("p",[a._v("如果你不想使用包管理的方式安装 PHP,且让 PHP 仅框架独立使用,你可以依次采用以下的方式来安装 PHP、Composer 和框架:")]),a._v(" "),s("ol",[s("li",[a._v("从 GitHub 下载框架的脚手架,地址:"),s("a",{attrs:{href:"https://github.com/zhamao-robot/zhamao-framework-starter/archive/refs/heads/master.zip",target:"_blank",rel:"noopener noreferrer"}},[a._v("https://github.com/zhamao-robot/zhamao-framework-starter/archive/refs/heads/master.zip"),s("OutboundLink")],1)]),a._v(" "),s("li",[a._v("解压框架脚手架,重命名文件夹名称为你自己喜欢的名称,例如 "),s("code",[a._v("zhamao-v3")]),a._v("。")]),a._v(" "),s("li",[a._v("从 PHP 官网下载 PHP,选择 "),s("code",[a._v("Non Thread Safe")]),a._v(" 版本,PHP 版本选择 8.0 ~ 8.2 均可(推荐 8.1),下载完成后解压到框架目录下的 "),s("code",[a._v("runtime\\php")]),a._v(" 目录,例如 "),s("code",[a._v("D:\\zhamao-v3\\runtime\\php\\")]),a._v("。")]),a._v(" "),s("li",[a._v("从 "),s("a",{attrs:{href:"https://getcomposer.org/download/",target:"_blank",rel:"noopener noreferrer"}},[a._v("Composer 官网"),s("OutboundLink")],1),a._v(" 或 "),s("a",{attrs:{href:"https://mirrors.aliyun.com/composer/composer.phar",target:"_blank",rel:"noopener noreferrer"}},[a._v("阿里云镜像"),s("OutboundLink")],1),a._v(" 下载 Composer,下载到 "),s("code",[a._v("runtime\\")]),a._v(" 目录。")]),a._v(" "),s("li",[a._v("在你的脚手架目录下执行 "),s("code",[a._v(".\\runtime\\php\\php.exe .\\runtime\\composer.phar install")]),a._v(" 安装框架依赖。")]),a._v(" "),s("li",[a._v("执行框架初始化命令:"),s("code",[a._v("./zhamao init")]),a._v("。(如果提示没有 "),s("code",[a._v("./zhamao")]),a._v(" 文件,本步骤可尝试使用 "),s("code",[a._v(".\\runtime\\php\\php.exe .\\vendor\\bin\\zhamao init")]),a._v(" 来执行)")]),a._v(" "),s("li",[a._v("接下来你就可以使用和上方所有框架操作指令相同的内容了,例如 "),s("code",[a._v("./zhamao plugin:make")]),a._v("、"),s("code",[a._v("./zhamao server")]),a._v(" 等。")]),a._v(" "),s("li",[a._v("如果你需要使用 Composer,你可以使用 "),s("code",[a._v(".\\runtime\\php\\php.exe .\\runtime\\composer.phar")]),a._v(" 来代替 "),s("code",[a._v("composer")]),a._v(" 命令。")])]),a._v(" "),s("h2",{attrs:{id:"提升性能"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#提升性能"}},[a._v("#")]),a._v(" 提升性能")]),a._v(" "),s("p",[a._v("如果你打算让你的框架提升处理性能,我们建议你为 PHP 安装 Swoole 扩展、libevent 扩展,或将 PHP 版本提升到 8.1 及以上。")]),a._v(" "),s("h2",{attrs:{id:"更多的环境部署和开发方式"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#更多的环境部署和开发方式"}},[a._v("#")]),a._v(" 更多的环境部署和开发方式")]),a._v(" "),s("p",[a._v("除了上述方式之外,框架还支持源码模式、守护进程等运行方式,详情请参阅 "),s("RouterLink",{attrs:{to:"/advanced/"}},[a._v("进阶开发")]),a._v("。")],1)])}),[],!1,null,null,null);s.default=t.exports}}]); |