Codeigniter インストールとバージョンアップ2→3 PHP 5→7 メモ

公開日: : Codeigniter

CodeIgniter インストール

Codeigniter インストール

Codeigniter をサイトからダウンロードして解凍する。

Codeigniter 基本設定ファイル編集

application/config/config.php の26行目あたりにサイトのURLを入れる。

$config['base_url'] = 'https://xxxx.xx.xx/';

下階層(test)ならば、以下のようにするだけ。

$config['base_url'] = 'https://xxxx.xx.xx/test/';

Codeigniter アップロード

最低限でよければ、以下の4つをアップロード。

  • application フォルダー
  • system フォルダー
  • index.php
  • license.txt

ブラウザで確認し、以下のようになってたらOK。
CodeIgniter インストール

データベース設定

application/config/database.php
76行目あたりにデータベースの設定をする

$db['default'] = array(
	'dsn'	=> '',
	'hostname' => 'ホスト名',
	'username' => 'ユーザー名',
	'password' => 'パスワード',
	'database' => 'データベース名',
・・・・・(省略)・・・・・

.htaccess を作る

.htaccess を作り、トップ階層にアップロードする。

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

Codeigniter 404エラーの為、「Hello World!」の表示

https://xxxx.xx.xx/hello
にアクセスで、「Hello World!」が表示するようにする。

application/controllers/hello.php

<?php
class Hello extends CI_Controller {
    public function index()
    {
        echo 'Hello World!';
    }
}
?>

これは、404エラーになる。
ファイル名の先頭を大文字(Hello.php)にしたところ無事に表示。

ファイル名の先頭は大文字にしないと404エラー

ファイル名先頭を小文字(hello.php)だと3.0 以降は、404エラーになるらしい。

CodeIgniter 3.0 以降、全てのクラスファイル (ライブラリ、ドライバ、コントローラ、そしてモデル)の名前は Ucfirst 形式、 つまり大文字で始まるようにしなければなりません。
CodeIgniter ユーザガイド

CodeIgniter で500エラー

CodeIgniter で500エラー内容を表示する

以前のファイルをアップロードすると、500エラー。
エラーになっているファイルの先頭に以下を書くとエラーを表示する。

ini_set("display_errors", 1);
error_reporting(E_ALL);

500エラーは全部 PHP7 バージョンアップエラーだった

ファイル名先頭大文字以外は、Codeigniter3へのバージョンアップは特に問題がなく、他はPHP7へのバージョンアップエラーだった。

Message: Methods with the same name as their class will not be constructors in a future version of PHP …

PHPバージョン7からのクラス名と同じ名前のメソッドを定義してると出るエラー。

class クラス名 {
    public function クラス名() {    }
}
↓修正
class クラス名 {
    public function __construct() {    }
}

undefined function mysql_connect…

PHPバージョン7からの mysql 関数が使えなくなったエラー(多分)。
application/config/database.php

$db['default']['dbdriver'] = 'mysql';
↓修正
$db['default']['dbdriver'] = 'mysqli';

このように修正したらとりあえずエラー解消した。

Fatal error: Redefinition of parameter…

PHPバージョン7から、関数のパラメータで同じ変数名使っていたらエラー。

function MyFnc($a = 0, $b = 0, $b = 0) { 
  print $a+$b+$b;
}
↓修正
function MyFnc($a = 0, $b1 = 0, $b2 = 0) { 
  print $a+$b1+$b2;
}

Only variables should be assigned by reference…

参照渡しを要求するメソッドに値を直接渡して呼び出すとエラーが出るので、一旦変数に格納するように修正。

$this->_base_classes =& is_loaded();
↓修正
$isloadedo = is_loaded(); 
$this->_base_classes =& $isloadedo;

もう一か所も同じエラーがあり、以下のように修正。

return $_config[0] =& $config;
↓修正
$_config[0] =& $config;
return $_config[0];

関連記事

記事はありませんでした

Codeigniter

Message

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

wordpress タイトルの変更
WordPress タイトルの変更

テンプレートタグ the_title(); get_the_title

All-in-One WP Migration で サーバ移動
「All-in-One WP Migration」プラグインで 簡単に WordPress のサーバー移行する手順メモ

1.移行元サイトでのデータエクスポート 「All-in-One WP

DNSサーバーとは
ドメインとは?DNSサーバーとは?

ドメインとは? ドメインとは? ドメインとは、インターネット上のネ

javascriptで複数同じ名前のformの値を取得する
javascriptで複数同じ名前のformの値を取得するとエラー Cannot read property ‘value’ of undefined

Javascript で value の値を取得する このようなHT

リビジョンを削除し、テーブルを最適化してDBの容量を削減
WordPress リビジョンを削除し、テーブルを最適化してDBの容量を削減

WordPress リビジョン機能 リビジョンは過去の記事を保存して

→もっと見る

    • 202110
      Mon Tue Wed Thu Fri Sat Sun
      123
      45678910
      11121314151617
      18192021222324
      25262728293031
    にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ PHPへ にほんブログ村 IT技術ブログ WordPressへ
    にほんブログ村 FC2 Blog Ranking
    PAGE TOP ↑