Pocket

多分、あんまり良い方法ではないと思いますが、一人で開発してますし、ローカルPCはWindowsしかないので、このやり方がとっても便利なんです。

テスト用にドメインをもう一つ取る

メインで稼動してる(または、させる予定の)ドメインとは別にもう一つドメインを取得して、サーバーに設定してしまいます。

たとえば、

  • primarytext.jp (本番用)
  • primarytext.com (テスト用)

こんな感じで取得して設定します。ドメインは年間1000円くらいなんで、まぁ良いかなぁと。で、テスト用のドメインの方には、.htaccessでBASIC認証でもかけて、自分しか見れないようにします。Googleとかの検索にもでなくなります。

以上で、終わりです。

ローカルで書いたコードをFTPでUPして、テスト用ドメインで見るだけです。なんて簡単!

この方法の良いところ

本番環境とまったく同じです。サーバーもOSもPHPもDBも回線もなにもかも、まったく同じです。

なので、やっぱこのコードでは遅いなぁとか、分かります。HTMLをUPして確認もできるので、画像を読み込みすぎてるとか、javascriptが遅いとか、別サーバーと通信してタイムアウトになっちゃうとか、わかります。良いね!

テストデータが不要です。同じDBが使えますので、本番環境で使ってるデータを流用できます。逆も簡単。バージョンアップで初期データが要るときも、テスト環境からコピーできます。

DBはスキーマで分ける

同じDBへアクセスしますが、テスト環境と本番環境ではTable構造が違ったりしても大丈夫です。

たとえば、postgreSQLなら、初期で「public」スキーマできるので、これを本番用。「test」ってスキーマ作ってテスト用にすれば、同じTABLE名でも中身違ったものにできます。

ってすれば、testへ繋ぎます。しなければ、初期値のpublicを見に行きます。これをDBを使う最初にやれば、SQL等を分ける必要ないです。

本番環境が稼動してなくて、初めて公開するときは、

ってやると、スキーマをまるごとコピーできます。

判断するコードを最初に読み込む

全部のPHPから、一番最初に、

こんな感じにしておくと、判断が要るときも使えるし、テスト環境はエラーを表示。本番ではしない。ってなります。すばらしい!

でも非推奨です

やっぱ、ローカルに作るのが基本だと思うので、あんまり勧められないです・・・

お知り合いに、紹介してもらえませんか?

いつも、読んでいただきありがとうございます。もしこの内容に価値があると思われたら、お知り合いにも紹介してもらえると、とても嬉しいです!

Pocket