【CodeIgniter】CodeIgniter3のインストールから初期設定まで

codeigniter WEB

仕事でCodeIgniter3を使うことになったので、備忘録を兼ねて。
間違いがあればご指摘いただければ…

ちなみにCodeIgniter4もありますが、安定版ってことでCodeIgniter3を選択。

CodeIgniterの日本語ユーザガイド

動作要件などは上記ユーザガイドを見てください。
(丸投げ)

CodeIgniterのインストール

公式サイトからダウンロードをしてください。
CIのダウンロードページはコチラから。

「Download」でCodeIgniter本体をダウンロード。
「Translations」で言語ファイルをダウンロードします。

ダウンロードしたらファイルを解凍してください。
CodeIgniter本体は、下記の4つだけあれば問題ないかと(license.txtはなくても動くとは思いますが、ライセンスのテキストなので)。
・application
・system
・index.php
・license.txt

初期設定

/application/config/config.php の26行目の $config[‘base_url’] を変更します。
基本的にサイトのドメインを設定します。

// 初期には空白になってますので、下記のように設定してもいいですが
$config['base_url'] = 'https://example.com/';
// 下記に変更してやると、テストサーバでも本番サーバでも臨機応変に設定されます。
$config['base_url'] = ((empty($_SERVER["HTTPS"])) ? "http://" : "https://") . $_SERVER['HTTP_HOST'];

日本語対応

解答した「translations」ディレクトリからjapaneseディレクトリを/application/language/内にコピー&ペースト。

// 79行目
$config['language']	= 'english';
// englishからjapaneseへ変更
$config['language']	= 'japanese';

これでフォームのエラーなどが日本語になります。

URLからindex.phpを取り除く

初期設定では、CodeIgniterのURLは下記のようになっています。
https://example.com/index.php/Controller/function/

これを回避するには、.htaccessに下記記述を設定します。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

.htaccessは公開ディレクトリ(レンタルサーバだと「public_html」が多い?)に置きます。

公開ディレクトリにCodeIgniterのファイルを置きたくない場合

下記のように公開ディレクトリ(public_html)より上の階層にCodeIgniter本体を置く場合。

┳ application
┣ public_html(CSSや画像など)
┣ system
┗ license.txt

index.phpを公開ディレクトリに置き、100行目と117行目辺りを変更。

// 100行目
$system_path = '../system';
// 117行目
$application_folder = '../application';

1つ上の階層を見るようにしてあげると公開ディレクトリにCIの設置をしなくてよくなります。

データベース

データベースを設定する場合は、/application/config/database.phpを変更します。
必要な項目のみ設定してください。
データベースを使わないならこの設定はいりません。

$db['default'] = array(
	'dsn'	=> '',
	'hostname' => 'localhost',
	'username' => '(DBへの接続ユーザ)',
	'password' => '(DBのパスワード)',
	'database' => '(DB名)',
	'dbdriver' => 'mysqli',
	'dbprefix' => '',
	'pconnect' => FALSE,
	'db_debug' => (ENVIRONMENT !== 'production'),
	'cache_on' => FALSE,
	'cachedir' => '',
	'char_set' => 'utf8',
	'dbcollat' => 'utf8_general_ci',
	'swap_pre' => '',
	'encrypt' => FALSE,
	'compress' => FALSE,
	'stricton' => FALSE,
	'failover' => array(),
    // 本番ではfalseにすると軽くなるそうです。聞いた話だと
	'save_queries' => TRUE
);

とりあえず、初期の初期設定はこれぐらいでしょうか?
文字コードとかもありますが、UTF-8のままでいいでしょう。

タイトルとURLをコピーしました