CodeIgniter をルートディレクトリ外で運用するための設定

 

CodeIgniterのデフォルト挙動では、WebサーバーのドキュメントルートにCodeIgniterのシステムパスやアプリケーションパスが設定されています。

こういったライブラリをドキュメントルート内に置くのは望ましくないため、できればドキュメントルート外に設置したいところ。

これを行うためにはindex.phpを編集し、$system_pathと$application_folderのパスを通す必要があります。

今回は、CodeIgniterをドキュメントルート外に設置するための設定を紹介します。

CodeIgniterをドキュメントルート外に設置

まずはCodeIgniterをドキュメントルート外に設置します。今回のディレクトリ構成は以下のようになります。

index.phpはドキュメントルートに設置します。

また、systemディレクトリとapplicationディレクトリをドキュメントルートのひとつ上の階層に_lib/CodeIgniterディレクトリを作って格納します。

$system_pathの編集

まずはindex.phpの100行目(CodeIgniter3.1.6)に記載のある$system_pathを編集します。

$system_pathはCodeIgniterのコアとなるシステムへのパスです。

$application_folderの編集

次に、index.phpの117行目(CodeIgniter3.1.6)の$application_folderを編集します。

$application_folderはCodeIgniterにおいて各アプリケーションのコントローラや設定を格納します。

ひとつのCodeIgniterで複数のサイトを構築する場合には、applicationディレクトリを増やし、各サイトの名称などにすると楽です。

表示確認

パスが適切に設定されていれば以下のようにCodeIgniterが表示されます。

CodeIgniterの表示確認

パスの設定がおかしい場合は以下のように様々なエラーが出ますので、エラー内容に応じて適宜パスの修正を行いましょう。

$system_pathが適切でない場合

$application_folderが適切でない場合

 

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。