feat: Composer導入先をWebルート外(/var/www)に変更 (v8.5.6-a)
Helm Chart Release / release-chart (push) Successful in 5s

従来はWebルート /var/www/html 直下にComposerを導入していたため、
composer.json / composer.lock / vendor/ がWeb経由で公開され、
依存パッケージ情報の漏洩などのセキュリティリスクがあった。

- values.yaml: composer.workingDir を追加(デフォルト: /var/www)
- templates/deployment.yaml: 作業ディレクトリを workingDir に変更、
  Webルート以外の場合はPVCの composer サブパスをマウントして永続化
- README.md: パラメータ説明・autoload読み込みパスの解説を追加
- Chart.yaml: 8.5.6-a(手動リリース)
- CHANGELOG-8.5.6-a.md: 変更内容を記録

PHP側は require_once '/var/www/vendor/autoload.php'; で読み込む。
旧動作へは composer.workingDir: "/var/www/html" で復帰可能。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-19 14:29:23 +09:00
co-authored by Claude Fable 5
parent 112fae7059
commit 8ff43615fa
6 changed files with 91 additions and 5 deletions
+13 -1
View File
@@ -122,6 +122,7 @@ kubectl logs -l app.kubernetes.io/name=phpfpm -c nginx
| パラメータ | 説明 | デフォルト |
|-----------|------|-----------|
| `composer.enabled` | Composer有効化 | `false` |
| `composer.workingDir` | Composer導入先ディレクトリ(`{workingDir}/vendor/autoload.php` | `"/var/www"` |
| `composer.packages` | インストールパッケージ | `[]` |
| `composer.useComposerJson` | composer.json使用 | `false` |
| `composer.composerJson` | composer.json内容 | `""` |
@@ -237,6 +238,17 @@ persistence:
size: 2Gi
```
> **📌 Composerの導入先について**
> Composerパッケージはデフォルトで**Webルート外**の `/var/www` に導入されます(`composer.workingDir` で変更可能)。
> `vendor/` や `composer.json` がWeb経由で公開されないため、情報漏洩などのセキュリティリスクを回避できます。
>
> PHPコードからは以下のように読み込みます:
> ```php
> require_once '/var/www/vendor/autoload.php';
> ```
>
> 旧バージョン(Webルート直下 `/var/www/html` に導入)と同じ動作に戻す場合は `composer.workingDir: "/var/www/html"` を指定してください。
### 例3: composer.jsonを使用
```yaml
@@ -330,7 +342,7 @@ resources:
**PHPコード例**:
```php
<?php
require_once '/var/www/html/vendor/autoload.php';
require_once '/var/www/vendor/autoload.php';
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;