0

ソース フォルダーを 2 つに分けたいと思います。アドレス バーに入力するコードを含むフォルダーと、ページの一部 (タイル) やその他のコード (クラスなど) を構成するフォルダーです。したがって、追加したすべてのphpファイルの開始時に:

<?php
// index.php
include("config.php");
include("session.php");
?>

構成にはこれまでのところこれだけが含まれていますが、他のディレクトリ (ログなど) が必要な場合は拡張できます。

<?php
// config.php
$_PATHS["base"]      = dirname(dirname(__FILE__)) . "\\";
$_PATHS["includes"]  = $_PATHS["base"] . "includes\\";
ini_set("include_path", "$_PATHS[includes]");
?>

そしてセッションには、とりわけ、コンストラクターでの呼び出しがありsession_startます。また、他の場所に含まれている他のクラスも必要です。これには、セッションを含める前に構成をリストする必要があります。ただし、エラーが発生します

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started ...

インクルードを切り替えると、その特定のエラーはなくなりますが、ヘッダー ファイルへのリンクを手動で変更する必要があります。とにかく最初にディレクトリを設定してセッションを使用できるようにする方法はありますsession_startか、それともファイルに含まれる最初のものでなければなりませんか?

4

2 に答える 2

3

そのエラーの残りの部分は、問題がどこにあるかを示す正確なビットです! config.php の末尾に空白がある可能性があります。

(それか、または session.php が への呼び出しの前に出力を送信しますsession_start()が、私は本当に今推測しています:)

于 2009-07-13T22:18:32.443 に答える