目次
CodeIgniterのエラーログの記録方法を網羅的にまとめています
ホームページ バックエンド開発 PHPチュートリアル CodeIgniter でエラー ログを記録する方法の包括的なまとめ、codeigniter 記録ログ_PHP チュートリアル

CodeIgniter でエラー ログを記録する方法の包括的なまとめ、codeigniter 記録ログ_PHP チュートリアル

Jul 12, 2016 am 08:52 AM
codeigniter エラーログ

CodeIgniterのエラーログの記録方法を網羅的にまとめています

この記事ではCodeIgniterのエラーログの記録方法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

CI ワークフロー:

すべての入り口はルートディレクトリのindex.phpから入力されます。アプリケーションが配置されているディレクトリを決定した後、このファイルは次のファイルを順番にロードしてプロセス全体を実行します。

index.php: ファイルパスを検出し、codeigniter.phpファイルをロードします

codeigniter.php: 共通/定数....ファイルをロードします。ファイルモードの取得、タイマーの設定、クラスのインスタンス化(エラークラス、拡張クラス、フッククラス、システム拡張、構成クラス、エンコードクラス、ルーティングクラス、プロセスクラス、出力クラス、セキュリティクラス、言語クラス、コントローラ)、リクエストメソッドのロード、出力ビューをレンダリングします。

CodeIgniter のクラスは、ファイル名と同じ名前で保存されます。クラス名の前に「CI_」が付きます。

system/core/common.php: PHPバージョンの検出、ファイル権限、コアクラスのロード、構成パラメータの取得、例外/エラークラスのロード、httpリクエストステータスの取得などのパブリック関数が含まれています

application/config/constants.php: ファイルパーミッション定数とアプリケーションマクロ定義ファイルを設定します

system/core/Benchmark.php: 実行時間を記録するために使用されます

system/core/Hooks.php: フックオブジェクトの呼び出しがあるかどうかを検出します

system/core/Config.php: 設定ファイルを管理し、application/config/config.php パラメータを検出するためのメソッドを提供します

application/config/config.php: グローバルパラメータを設定する

system/core/URI.php: URLパラメータを解析する

system/core/Router.php: ルーティング設定を検出し、HTTP リクエストを解析して誰が処理すべきかを決定します

system/core/Output.php: キャッシュファイルの有無を確認し、存在する場合は内容を直接出力します。

system/core/Input.php: HTTPリクエストとユーザーが送信したデータをフィルタリングします

system/core/Long.php: プロンプト言語変数を初期化します

system/core/controller.php: 制御出力クラス

エラーログを記録:

デフォルトのプログラムはエラーログを記録しません。必要に応じて設定できます:

1. application/config/config.php で設定します:

リーリー

0 の場合は、エラー ログが出力されないことを意味します。詳細については、内部の概要を参照してください。

2. エラーを書き込む必要があるページでグローバル関数 log_message('level','message') を呼び出します。1 つはエラー、2 つはデバッグです。システムのデバッグ。CI 自体も多くのページで使用されています。3 番目は情報です。メッセージの内容は私が書きました。

3. デフォルトでは、エラー ログは application/logs/log-[time].php に保存されます。例: log-2011-6-26 は、今日のログの内容が保存されることを意味します。ログの内容を非表示にするには、このアドレスを移動する必要があります。必要に応じて、$config['log_path'] でパスを設定します。

独自のグローバル変数/構成を設定します:

カスタマイズされたセッションなど、他の場所で使用するために独自のプロセス変数を定義する必要がある場合があります。この作業も CI では非常に簡単です。

1. application/config/ に独自の設定ファイルを作成し、ファイルの場所に注意してください。たとえば、独自の構成ファイル mysetting.php、content、

を作成します。 リーリー

2. カスタム グローバル変数を呼び出す必要がある場合は、次のような $this->config->load('settingfile') 関数を使用します。

リーリー

必要に応じて、application/config/autoload.php を通じて自動読み込みに設定することもできます。

3. 次に同じページで使用します

リーリー

次のような関数: $this->config->item('try'); は次のように出力されます: this is my trying;

上記からわかるように、

CI の関数呼び出しは $this->filename

の形式になっています。また、CI がシステム全体を大きなクラスとして扱い、対応するメソッドを取得することもわかります。ロード、継承など。
カスタム変数の詳細については、http://codeigniter.org.cn/user_guide/libraries/config.html を参照してください。
index.phpを非表示にして外部ファイルをロードします:

実際、CI を使用しているか ZF を使用しているかに関係なく、パスの問題という同じ問題が発生します。 ZF を CMS として使用していた初期の頃、.htaccess ファイルで js、css、img などのリソース ファイルをリダイレクトしないように設定していました。しかし、今日CIを使用しているときに、長い間作業した後、それを忘れてしまい、CIの公式中国語Webサイトにログインして、フォーラムの専門家の助けを借りて最終的に問題を解決しました。みんなで共有できるようにここに投稿しました。

首先,隐藏url中的index.php文件,这样访问其它目录的时候就不会有http://www.xxx.com/index.php/xxx的样式出现,面是直接http://www.xxx.com/xxx形式,在根目录.htaccess文件里设置(作用是隐藏index.php,有时index.php可能不在根目录,则htaccess须移到index.php所在目录),如下:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|js|css|robots\.txt)
#这里排除了images、js、css目录及index.php、robots.txt文件
RewriteRule ^(.*)$ index.php/$1 [L]

ログイン後にコピー

这里JS,CSS,IMG等资源文件夹与SYSTEM文件夹放在同一级下,独立放置的好处是不用受htaccess的限制,因为htaccess文件写明Deny from all,即拒绝访问。打开application/config/config.php改写配置:

$config['base_url'] = "http://127.0.0.1/";
$config['index_page'] = "index.php";

ログイン後にコピー

如果

$config['base_url'] = http://127.0.0.1;
ログイン後にコピー

后面没加'/',则在model_rewrite最后一行应写RewriteRule ^(.*)$ /index.php/$1 [L],在index.php前加一个'/'。然后在JS文件夹中建立ajax.js文件,我在VIEW层中的文件为index.html。这样我要引入JS时,可以用CI自带的BASE_URL来设置,如下:

在controllers里相关控制网页里添加(在其它load之前):

$this->load->helper('url');

ログイン後にコピー

在views表现的index.html里:
复制代码 代码如下:

注:这里url是网站相对URL(好处是可以更改根目录后相对地址不用改变)

这里js文件夹没有重定向,所以可以正常访问,而如果是受限制的页面则比较麻烦了。

好了,CI中引入外部的JS与CSS就这么简单。

注别的说明:“ RewriteCond $1 !^(index\.php|images|js|css|robots\.txt) ”这里代码的意思是:任意你想访问的资源都不被重定向时,都可写在这里。有时,网站没有加载CSS,JS(它的路径都是正确的)时,都是被重定向了,这要注意。

具体可查看CI的中国官论坛 http://codeigniter.org.cn/user_guide/helpers/url_helper.html,URL辅助函数一节,
http://codeigniter.org.cn/user_guide/general/urls.html,url设置,
http://codeigniter.org.cn/forums/thread-4-1-2.html,Hex关于隐藏index.php的说明,但他在model_rewrite用了index\\.php,我觉得用双反斜杠有误。

(另外:特别谢谢CI中国官论坛上的Hex 与visvoy )

数据间的传输:

1、将数据从控制器传入视图

由于控制器controllers在ci中扮演交通警察的角色,其是一个大类,而视图view作为controller类中的一个函数中的函数,所以view可以使用controller中的属性。所以可以这样写:

Controller类Test

class Test extends CI_Controller {
 public static $test2=''; //定义一个属性
 public function __construct(){
 parent::__construct();
 self::$test2 = $this->load->view('new','',true); //给$test2这个属性赋值
 }
 public function index() {
 $this->load->helper('url');
 $this->load->view('anchor');
 }
}

ログイン後にコピー

View.php

<&#63;php
echo Test::$test2; //直接使用类中的值
&#63;>

ログイン後にコピー

这种直接使用controllers类中的值的方法虽然可行,却不是ci所提倡的。一般来说在controller中使用$this->load->view()的时候可以通过参数传值给view视图:

function index()
{
 $data['css'] = $this->css;
 $data['base'] = $this->base;
 $data['mytitle'] = 'Welcome to this site';
 $data['mytext'] = "Hello, $name, now we're getting dynamic!";
 $this->load->view('testview', $data); //$data通过参数传递到view
}

ログイン後にコピー

这里,把需要传递的数值加入至$data数组,ci在核心类中给自动使用extract()函数把数组“解压”出来,成为一个个变量。所以在view中可以直接这样使用变量:

echo $css;

ログイン後にコピー

2、模型与视图的交互

在ci中模型总是用以处理数据,模型中数据处理也是通过controller中转到view,所以最好不要试图模型直接与视图联系。手册中有这样一个例子:

class Blog_controller extends CI_Controller {
 function blog() {
 $this->load->model('Blog'); //载入模型
 $data['query'] = $this->Blog->get_last_ten_entries(); //使用模型中的方法,将返回值存入$data数组
 $this->load->view('blog', $data); //像上例一样,通过参数传给视图view
 }
}

ログイン後にコピー

更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1127869.htmlTechArticleCodeIgniter记录错误日志的方法全面总结,codeigniter记录日志 本文实例讲述了CodeIgniter记录错误日志的方法。分享给大家供大家参考,具体如下...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPでエラーログを開く方法 PHPでエラーログを開く方法 Mar 09, 2021 pm 05:26 PM

PHP でエラー ログを開く方法: 1. php.ini 設定ファイルを開き、「log_errors」オプションを見つけて、このオプションの値を「オフ」から「オン」に変更します。 2. ini_set() 関数を使用し、構文「ini_set("log_errors", "On");」で PHP ファイルを変更します。

Excel データの Mysql へのインポートに関するよくある質問のまとめ: データのインポート時に発生したエラー ログの問題にどう対処するか? Excel データの Mysql へのインポートに関するよくある質問のまとめ: データのインポート時に発生したエラー ログの問題にどう対処するか? Sep 10, 2023 pm 02:21 PM

Excel データの Mysql へのインポートに関するよくある質問のまとめ: データのインポート時に発生したエラー ログの問題にどう対処するか? Excel データを MySQL データベースにインポートするのは一般的なタスクです。ただし、このプロセス中にさまざまなエラーや問題が発生することがよくあります。その 1 つはエラー ログの問題です。データをインポートしようとすると、システムは、発生したエラーに関する特定の情報をリストしたエラー ログを生成する場合があります。では、このような状況に遭遇した場合、エラーログにどのように対処すればよいのでしょうか?まず、その方法を知る必要があります

CodeIgniter でカスタムミドルウェアを実装する方法 CodeIgniter でカスタムミドルウェアを実装する方法 Jul 29, 2023 am 10:53 AM

CodeIgniter でカスタム ミドルウェアを実装する方法 はじめに: 最新の Web 開発では、ミドルウェアがアプリケーションで重要な役割を果たします。これらは、リクエストがコントローラーに到達する前または後に、共有処理ロジックを実行するために使用できます。 CodeIgniter は、人気のある PHP フレームワークとして、ミドルウェアの使用もサポートしています。この記事では、CodeIgniter でカスタム ミドルウェアを実装する方法を紹介し、簡単なコード例を示します。ミドルウェアの概要: ミドルウェアは一種のリクエストです

CodeIgniter ミドルウェア: アプリケーションの応答性とページのレンダリングを高速化します。 CodeIgniter ミドルウェア: アプリケーションの応答性とページのレンダリングを高速化します。 Jul 28, 2023 pm 06:51 PM

CodeIgniter ミドルウェア: アプリケーションの応答性とページ レンダリングの高速化 概要: Web アプリケーションの複雑さと対話性が増大し続ける中、開発者はアプリケーションのパフォーマンスと応答性を向上させるために、より効率的でスケーラブルなソリューションを使用する必要があります。 CodeIgniter (CI) は、多くの便利な機能を提供する軽量の PHP ベースのフレームワークであり、その 1 つがミドルウェアです。ミドルウェアは、リクエストがコントローラーに到達する前または後に実行される一連のタスクです。この記事では使い方を紹介します

CodeIgniter フレームワークでデータベース クエリ ビルダー (Query Builder) を使用する方法 CodeIgniter フレームワークでデータベース クエリ ビルダー (Query Builder) を使用する方法 Jul 28, 2023 pm 11:13 PM

CodeIgniter フレームワークでデータベース クエリ ビルダー (QueryBuilder) を使用する方法の紹介: CodeIgniter は、開発者が Web アプリケーション開発を容易にするための強力なツールとライブラリを多数提供する軽量の PHP フレームワークです。最も印象的な機能の 1 つは、データベース クエリ ビルダー (QueryBuilder) です。これは、データベース クエリ ステートメントを構築および実行するための簡潔かつ強力な方法を提供します。この記事ではCoの使い方を紹介します。

PHPでCodeIgniter5フレームワークを使用するにはどうすればよいですか? PHPでCodeIgniter5フレームワークを使用するにはどうすればよいですか? Jun 01, 2023 am 11:21 AM

CodeIgniter は、MVC アーキテクチャを使用して迅速な開発をサポートし、一般的なタスクを簡素化する軽量の PHP フレームワークです。 CodeIgniter5 はフレームワークの最新バージョンであり、多くの新機能と改善点が提供されています。この記事では、CodeIgniter5 フレームワークを使用して簡単な Web アプリケーションを構築する方法を紹介します。ステップ 1: CodeIgniter5 をインストールする CodeIgniter5 のダウンロードとインストールは非常に簡単で、次の手順に従うだけです。 最新バージョンをダウンロードします。

CodeIgniter ミドルウェア: 安全なファイルのアップロードおよびダウンロード機能を提供します。 CodeIgniter ミドルウェア: 安全なファイルのアップロードおよびダウンロード機能を提供します。 Aug 01, 2023 pm 03:01 PM

CodeIgniter ミドルウェア: 安全なファイルのアップロードおよびダウンロード機能を提供します はじめに: Web アプリケーション開発のプロセスにおいて、ファイルのアップロードとダウンロードは非常に一般的な機能です。ただし、セキュリティ上の理由から、ファイルのアップロードとダウンロードの処理には追加のセキュリティ対策が必要になることがよくあります。 CodeIgniter は、開発者による安全で信頼性の高い Web アプリケーションの構築をサポートする豊富なツールとライブラリを提供する人気の PHP フレームワークです。この記事では、CodeIgniter ミドルウェアを使用して安全なファイルを実装する方法を紹介します。

PHP 開発: CodeIgniter を使用して MVC パターンと RESTful API を実装する PHP 開発: CodeIgniter を使用して MVC パターンと RESTful API を実装する Jun 16, 2023 am 08:09 AM

Web アプリケーションは進化し​​続けるため、アプリケーションをより迅速かつ効率的に開発することが重要です。また、RESTful API は Web アプリケーションで広く使用されているため、開発者は RESTful API の作成および実装方法を理解する必要があります。この記事では、CodeIgniter フレームワークを使用して MVC パターンと RESTful API を実装する方法について説明します。 MVC パターン MVC (Model-Vie) の概要

See all articles