jstormes/ezauth2-server-skeleton

Zend expressive OAuth2 框架。几秒钟内开始开发带有 OAuth2 的 PSR-15 中间件应用程序!

This package is auto-updated.

Last update: 2024-09-08 07:14:41 UTC


README

Build Status Coverage Status

几秒钟内开始开发带有 OAuth2 的 PSR-15 中间件应用程序!

ezauth2-server-skeleton 基于 zend-expressive 构建,基于 zend-stratigility,为 PHP 提供一个具有路由、DI 容器、可选模板和可选错误处理功能的极简 PSR-15 中间件框架。

此安装程序将根据以下截图所示的用户输入选择可选软件包,以设置基于 zend-expressive 的骨架应用程序

screenshot-installer

用户选择的软件包将保存到 composer.json 中,以便所有其他参与项目的人员都能安装相同的软件包。配置文件和模板已准备好供首次使用。设置成功后,将从 composer.json 中删除安装程序命令,并删除所有与安装程序相关的文件。

入门指南

使用 composer 启动您的 Expressive OAuth2 服务器项目

$ composer create-project jstormes/ezauth2-server-skeleton <project-path>

选择并安装您想要的软件包后,转到 <项目路径> 并启动 Swoole 内置的 web 服务器以验证安装

$ composer serve

然后您可以通过浏览到 https://ezauth2.loopback.world:8443 来访问。

Linux 用户

在 PHP 版本低于 7.1.14 和 7.2.2 的情况下,此命令可能无法按预期工作,因为 PHP 中存在一个仅影响 Linux 环境的错误。在这种情况下,您需要自己启动 内置的 web 服务器,使用以下命令

$ php public/index.php start

设置超时

Composer 命令在 300 秒(5 分钟)后超时。在基于 Linux 的系统上,由 composer serve 启动的 php -S 命令作为后台进程继续运行,但在其他系统上,当发生超时时会停止。

因此,我们建议使用超时运行 serve 脚本。这可以通过使用带有 --timeout 选项的 composer run 来执行 serve 脚本来完成。当设置为 0 时,如前一个示例所示,将不使用超时,它将一直运行,直到您取消进程(通常通过 Ctrl-C)。或者,您可以指定一个有限的超时;以下示例将超时扩展为整整一天

$ composer run --timeout=86400 serve

故障排除

如果在 composer create-project 阶段安装程序失败,请在打开新问题之前先查看以下列表。我们迄今为止遇到的大多数问题都可以通过 self-updateclear-cache 解决。

  1. 确保通过运行 composer self-update 使用 composer 的最新版本。
  2. 尝试通过运行 composer clear-cache 清除 Composer 的缓存。

如果以上任一项都没有帮助,您可能面临更严重的问题

应用程序开发模式工具

此骨架包含 zf-development-mode。它提供了一个 composer 脚本,允许您启用和禁用开发模式。

要启用开发模式

注意:不要在生产服务器上运行开发模式!

$ composer development-enable

注意: 启用开发模式还会清除您的配置缓存,以便安全地更新依赖项并确保应用程序能够接收到任何新的配置。

要禁用开发模式

$ composer development-disable

开发模式状态

$ composer development-status

配置缓存

默认情况下,框架会在 data/config-cache.php 创建一个配置缓存。在开发模式下,配置缓存被禁用,进入和退出开发模式将移除配置缓存。

如果您在生产部署时部署到同一目录,可能需要清除配置缓存。您可以使用以下方法完成此操作:

$ composer clear-config-cache

您还可以通过编辑 config/config.php 文件并更改本地 $cacheConfig 变量的 config_cache_path 条目来更改配置缓存的存储位置。

框架开发

本节仅适用于您使用 git clone 克隆了此存储库的情况,而不是使用 composer create-project ... 安装 expressive 的情况。

如果您想针对安装程序运行测试,您需要克隆此存储库并使用 composer 安装所有依赖项。请确保您使用 --no-scripts 选项 阻止 composer 运行脚本,否则它将删除安装程序和所有测试。

$ composer update --no-scripts
$ composer test

请注意,安装程序测试会在运行测试前后删除已安装的配置文件和模板。

在贡献之前,请阅读 贡献指南

3.2.3