
# 安装

```bash
composer require storh/storh
```

## 要求

- PHP 8.2 或更高版本
- `ext-json`
- 支持在目录内原子重命名的本地或挂载文件系统（任何普通本地磁盘均符合条件）

storh 没有 Composer 运行时依赖。存在以下两个扩展时可启用可选功能：`ext-pdo` 或 `ext-mysqli` 用于 [SQL 镜像](https://storh.inline0.dev/zh/docs/sql-mirror)，以及 `ext-apcu` 用于共享 `Cache::apcu()` 后端；如果 APCu 不可用，该后端不会缓存任何内容。

## 选择存储根目录

使用 PHP 进程可以在其中创建、读取、写入、重命名和删除内容的目录：

```php
use Storh\StorageRoot;

$root = StorageRoot::resolve(__DIR__ . '/var/storage', 'app');
```

`StorageRoot` 只会规范化所提供的路径，并将命名空间清理为安全的目录名。它不会检查宿主应用程序、读取全局常量，也不需要框架适配器。首次使用时，引擎会在根目录下创建集合目录。

## 检查是否正常运行

```php
$docs = new Storh\DocStore($root, 'smoke');
$record = $docs->put(['ok' => true]);

var_dump($docs->get($record->id())?->data()); // ['ok' => true]
```

继续阅读[快速开始](https://storh.inline0.dev/zh/docs/quick-start)，或在[选择引擎](https://storh.inline0.dev/zh/docs/engines#choosing-an-engine)中选择一个引擎。
