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

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

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

Codeigniter インストール Codeigniter をサイ

wordpress カスタム投稿を一覧(ループ)で表示する
wordpress カスタム投稿を一覧(ループ)で表示する

カスタム投稿を一覧で表示する方法がいろいろあります。 query_p

wordpress カスタム投稿で 2ページ目以降が404
wordpress カスタム投稿で 2ページ目以降が404になってしまう

wordpress のカスタム投稿で、ニュースのページを作っていました

ロリポップでWordPressのPHPバージョンを5から7にする
ロリポップでWordPressのPHPバージョン7.1に変更後「サイトに技術的な問題が発生しています。」

WordPress.org の推奨環境 PHP7以上 MyS

WEBページをアプリっぽくする(サービスワーカーでホーム画面に追加)
WEBページをアプリっぽくする(サービスワーカーでホーム画面に追加)

前回作ったお絵かきページを、簡単にアプリっぽくしようと思います。 具

→もっと見る

    • 201912
      Mon Tue Wed Thu Fri Sat Sun
      1
      2345678
      9101112131415
      16171819202122
      23242526272829
      3031
    にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ PHPへ にほんブログ村 IT技術ブログ WordPressへ
    にほんブログ村 FC2 Blog Ranking
    PAGE TOP ↑