環境変数は絶対パスでも相対パスでも設定できる
注意
この記事の内容はTempDir
とImportPath
以外の環境変数では検証を行っていません。
実際に利用される場合にはくれぐれもご注意下さい。
動作検証した環境はMovable Type Pro 4.27-jaです。
記事中の記述は全て、次のようなディレクトリ構成のサーバを空想した上で行っています。
- (ルート)
- home
- yuno
- www(ドキュメントルート)
- mt(アプリケーションディレクトリ)
- import(初期設定のimportディレクトリ)
- tmp(初期設定のtmpディレクトリ)
TempDir
の場合
Movable Typeの設定は管理画面を使う以外にmt-config.cgiへ記述する事でも設定できます。
mt-config.cgiへ記述する環境変数はさまざまですが、その中にはシステムが利用するディレクトリの名前が場所を変更する事もできます。
例えば、バックアップの保存やアップロード時の一時ファイル置き場に使われるtmpディレクトリがあります。
このディレクトリはTempDirを使って自由に設定する事ができます。
MovableType.jpのリファレンスではルートから指定するように紹介されています。
TempDir /home/yuno/www/mt/tmp
この書き方はTempDir
の初期設定値である/tmp
がルート直下のtmpディレクトリを指している事から理解できます。
ImportPath
の場合
次に、ImportPathの説明を覗いて見ましょう。
ImportPath
はインポートするファイルを事前に納めておく場所を設定する環境変数です。
こちらの例ではディレクトリ名だけが指定されています。
ImportPath import
この書き方もImportPath
の初期設定値であるimport
がMTのアプリケーションディレクトリ直下を指している事から理解できます。
絶対パス指定と相対パス指定
この二つの例の違いをTempDir
とImportPath
の違いではなく、書き方による使い分けと解釈して試した所、次のような書き方でも無事に動作しました。
# tmpディレクトリの場所は /home/yuno/www/mt/tmp
TempDir tmp
# importディレクトリの場所は /home/yuno/www/mt/import
ImportPath /home/yuno/www/mt/import
ここで注目すべきはTempDir
の指定です。
ImportPath
と初期設定値の場所が全く異なるにも関わらず、ディレクトリ名だけを記述したらImportPath
と同じくアプリケーションディレクトリ直下のディレクトリが指定されました。
この事からパスの指定は/(スラッシュ)から記述すると絶対パス(ルートが基準)、スラッシュから記述しなければ相対パス(アプリケーションディレクトリが基準)、になると考えられます。
相対パスの基準が初期設定値の場所ではない事には注意が必要です。
さらに相対パス指定では階層を遡る事も可能なので、次の二つは同じ場所を指定しています。
ImportPath /home/yuno/import
ImportPath ../../../import
使い道はないと思いますが、絶対指定も階層を遡る事ができます。
TempDir /home/../
DJ気分でスクラッチのような指定も可能ですが……ダレガスルンデスカ。
ImportPath /home/../home/../
さらにがんばる事もできますが、トテモ正気ノ沙汰トハオモエナイ。
TempDir ../mt/import/../../../yuno/temp
他にもこんな指定も可能デス。
TempDir ../
TempDir ./
TempDir ..
TempDir .
ネタっぽいですが、動作確認済みです。
コメント[0]
コメント投稿フォーム
コメントを投稿するにはJavaScirptが必要です。ブラウザのJavaScriptを有効にしてください。
トラックバック[0]
トラックバックはまだありません。
コメントはまだありません。