私を夢中にさせる何かに出くわしました。私を助けてください :(
グローバルなヘッダーとフッターを作成するために、CI_Loader コアを拡張しようとしています。なんらかの理由で、拡張するとエラーが発生します。
拡張コード:
class MY_Loader extends CI_Loader
{
function __construct()
{
// i need the codeigniter super-object
// in all the functions
$CI =& get_instance();
}
public function load_header()
{
echo 'header';
}
public function load_footer()
{
echo 'footer';
}
}
私が現在得るエラー
要求されたファイルを読み込めません: helpers/url_helper.php
更新: コードの変更 - 新しいエラー
class MY_Loader extends CI_Loader
{
function __construct() {
parent::__construct();
$CI =& get_instance();
$CI->load = $this;
}
public function load_header()
{
echo 'header';
}
public function load_footer()
{
echo 'footer';
}
}
今、ヘッダーでエラーが発生しました
PHP エラーが発生しました 重大度: 警告 メッセージ: ヘッダー情報を変更できません - ヘッダーは既に送信されています (出力は /mounted-storage/home75b/sub007/sc43190-SREL/gogetmilk.com/application/core/MY_Loader.php:1 で開始) ファイル名: libraries/Session.php ライン番号: 672
更新#2 私はそれを修正する正しい方法ではありません。しかし、その作業。
libraries/Session.php の 672 行目で Cookie を設定
ヘッダーが既に送信されているかどうかを確認するテストを追加しました。
if (! headers_sent() )
{
setcookie(
$this->sess_cookie_name,
$cookie_data,
$expire,
$this->cookie_path,
$this->cookie_domain,
$this->cookie_secure
);
}
正常に動作しません。何かを印刷する前、印刷した後、ビュー内、ビューを読み込んだ後などにセッションを作成しました..
誰かがこれが問題を引き起こすと信じていますか?
問題は解決し、codeigniter とは関係ありませんでした。下部の回答を参照してください。