# KTPWP デバッグログ設定ガイド

## 概要

このガイドでは、KTPWPプラグインで安全なデバッグログ設定を行う方法を説明します。

## 問題の解決

### 1. REST API エラーの解決

プラグインの修正により、以下のREST APIエラーが解決されました：

- **管理画面でのREST API制限を解除**
- **ブロックエディターの正常動作を確保**
- **サイトヘルスチェックの正常動作を確保**
- **ループバックリクエストの正常動作を確保**
- **開発環境での制限を緩和**
- **プラグイン初期化時の制限を一時的に無効化**

### 2. デバッグログのセキュリティ改善

デバッグログが誰でもアクセス可能な場所に保存される問題を解決しました：

#### 推奨設定（wp-config.php）

```php
// デバッグモードを有効化
define( 'WP_DEBUG', true );

// デバッグログを安全な場所に保存
define( 'WP_DEBUG_LOG', WP_CONTENT_DIR . '/logs/debug.log' );

// デバッグ表示を無効化（本番環境では必須）
define( 'WP_DEBUG_DISPLAY', false );

// スクリプトエラーの表示を無効化
@ini_set( 'display_errors', 0 );
```

#### ログディレクトリの保護

プラグインは自動的に以下の保護を設定します：

1. **ログディレクトリの作成**: `wp-content/logs/`
2. **アクセス制限**: `.htaccess`ファイルでWebアクセスをブロック
3. **ディレクトリリスティング防止**: `index.php`ファイルの配置
4. **既存ディレクトリの保護確認**: 既存のログディレクトリにも保護を適用

### 3. 管理画面での設定

WordPress管理画面の「設定」→「KTPWP設定」で以下を設定できます：

- **デバッグログの有効/無効**
- **REST API制限の有効/無効**
- **REST API制限の完全無効化**（トラブルシューティング用）
- **現在の設定状況の確認**
- **REST API制限の現在の状態表示**

## 設定手順

### ステップ1: wp-config.phpの修正

1. WordPressのルートディレクトリにある`wp-config.php`を編集
2. 上記の推奨設定を追加
3. ファイルを保存

### ステップ2: プラグインの再アクティベーション

1. WordPress管理画面でKTPWPプラグインを無効化
2. プラグインを再度有効化
3. 自動的にログディレクトリと保護ファイルが作成されます

### ステップ3: 設定の確認

1. 管理画面の「設定」→「KTPWP設定」にアクセス
2. デバッグログとREST API制限の設定を確認
3. 必要に応じて設定を調整

## トラブルシューティング

### サイトヘルスエラーが解決されない場合

1. **管理画面の設定を確認**
   - 「設定」→「KTPWP設定」にアクセス
   - 「REST API制限を完全に無効化する」をチェック
   - 設定を保存

2. **wp-config.phpの設定を確認**
   - デバッグログの設定が正しいか確認
   - ログディレクトリが作成されているか確認

3. **キャッシュのクリア**
   - キャッシュプラグインをクリア
   - ブラウザのキャッシュをクリア

4. **プラグインの再アクティベーション**
   - プラグインを無効化してから再度有効化
   - これにより初期化時の制限が正しく適用されます

### ログファイルが作成されない場合

1. `wp-content/logs/`ディレクトリの権限を確認
2. Webサーバーが書き込み権限を持っているか確認
3. プラグインを再アクティベーション

### REST APIエラーが続く場合

1. 管理画面の「KTPWP設定」でREST API制限を無効化
2. キャッシュプラグインをクリア
3. ブラウザのキャッシュをクリア
4. プラグインを再アクティベーション

## セキュリティ上の注意

- デバッグログには機密情報が含まれる可能性があります
- 本番環境では`WP_DEBUG`を`false`に設定することを推奨します
- ログファイルは定期的に削除またはローテーションしてください
- REST API制限の完全無効化は、問題解決時のみ使用してください

## 開発環境での特別な処理

プラグインは開発環境（localhost、127.0.0.1）を自動検出し、以下の処理を行います：

- **REST API制限の自動緩和**
- **デバッグログの自動有効化**
- **エラー表示の詳細化**

## 技術的な改善点

### REST API制限の改善

1. **すべてのWordPress REST APIエンドポイントを許可**: `/wp-json/`パスを完全に許可
2. **プラグイン初期化時の制限を一時的に無効化**: 初期化中のエラーを防止
3. **initアクションでの制限適用**: プラグイン初期化完了後に制限を適用
4. **開発環境での自動緩和**: localhost/127.0.0.1での制限を自動解除

### ログディレクトリの保護強化

1. **既存ディレクトリの保護確認**: 既存のログディレクトリにも保護を適用
2. **自動保護ファイル作成**: .htaccessとindex.phpの自動作成
3. **権限の確認**: ディレクトリとファイルの権限を適切に設定

## サポート

問題が解決しない場合は、以下を確認してください：

1. WordPressのバージョン
2. PHPのバージョン
3. 他のプラグインとの競合
4. テーマとの競合

詳細なログは`wp-content/logs/debug.log`で確認できます。 