CPI テスト環境構築に関するメモ

CPI のサブドメインが使える共用サーバで運営中のサイトにテスト環境を構築するメモ。

そもそも何が問題? そして、この環境で実現したい事
———————————————————————-

更新を簡単にするため、ヘッダー部分を PHP でインクルードする仕組みを採用。
テストが終わったファイルを本番化する場合は、テスト環境のファイルを本番環境にコピーします。

### 理想のテスト環境を作る条件など

– テスト環境のファイルを本番環境にコピーする時に、ファイルの中身を書き換えるのは面倒なので嫌。
– テスト環境のヘッダー部分をクリックしても、本番環境にジャンプしないようにする。
– /usr/home/xxxx/html/test/head.php は各環境でひとつしか無いので、環境に合わせて書き換える。

現在の状況 ( ドキュメントルートからパスを書いている )
———————————————————————-

現在の状況は次のようになっています。

usr |
└ home |
  └ xxxx | ← ユーザー名
    ├ html | example.com ( 本番環境 )
    │ ├ head.php | Home
    │ └ index.php |
    └ virtual |
      └ test | test.example.com ( テスト環境 )
        ├ head.php | Home
        └ index.php |

### 問題点

– /usr/home/xxxx/html/test/head.php が、どのファイルからも参照されない。
– head.php は SSL 領域でも使いたいので、http:// から始まる絶対パスで書いておきたい。

リンクを絶対パスから書く場合
———————————————————————-

現在の状況は次のようになっています。

usr |
└ home |
  └ xxxx | ← ユーザー名
    ├ html | example.com ( 本番環境 )
    │ ├ head.php | Home
    │ └ index.php |
    └ virtual |
      └ test | test.example.com ( テスト環境 )
        ├ head.php | Home
        └ index.php |

### 問題点

– やっぱり、/usr/home/xxxx/html/test/head.php が、どのファイルからも参照されない。

本番・テスト環境それぞれで PHP の include_path を書き換える
———————————————————————-

PHP の include_path と言うのを使うと、インクルードファイルが見つからない時、次にファイルを探しに行くディレクトリを指定できるんだそうな。
ただ、CPI の場合、.htaccess に php_value の設定があると 500 のエラーが出るので、include_path の設定は php.ini に書かないといけないみたい。

本番・テスト環境とも index.php には次のように書いておきます。

/usr/home/xxxx/html/.htaccess の中身 ( 本番環境 )

## 独自に設定した php.ini ファイルの場所を指定する
suPHP_ConfigPath /usr/home/xxxx/html/

/usr/home/xxxx/html/php.ini の中身 ( 本番環境 )

include_path = “.:/usr/home/xxxx/html”

/usr/home/xxxx/virtual/test/.htaccess の中身 ( テスト環境 )

## 独自に設定した php.ini ファイルの場所を指定する
suPHP_ConfigPath /usr/home/xxxx/virtual/test/

/usr/home/xxxx/virtual/test/php.ini の中身 ( テスト環境 )

include_path = “.:/usr/home/xxxx/virtual/test”

独自の php.ini を設置するのがセキュリティー的に問題ないか判断できなかったので、この方法は試していませんし、うまくいくかどうかも検証していません。 ゴメンナサイ (T_T)

### 参考にさせてもらったページ

– [こんにちは。PHP ファイルの include に関する質問です。 – 人力検索はてな](http://q.hatena.ne.jp/1211515314)
– [include_path:とことん!ホームページ](http://maihy.com/hp/phptech/phptech_incpath.html)

ありがとうございます。

ドメインによって読み込むファイルを変える
———————————————————————-

次のコードで出来ました。

各ファイルの中にドメイン名を書いてしまうと、ドメインが変更になった時に修正が大変。
何処か一箇所だけ書き換えれば済むような設計にしたい。

↑ 良くわかりませんが、上のような方法もあるようです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です