-1

今日、php クラス (Auth.php->GetNumOnline()) 内で関数を呼び出そうとする小さな問題があります。

すべての「統計」を処理するクラスからこれを呼び出そうとしています。

ここに私のコードがあります: 統計クラス

class statReciever
{

public function GetNumOnline()
{
    set_include_path("{$_SERVER['DOCUMENT_ROOT']}");
    include("../Authentication/Auth.php");
    $auth = new Auth();
    return $auth->NumOnline();
}
}

そして、これは Auth クラスの簡素化されたバージョンです

class Auth
{
 public function NumOnline()
 {
    return 0;
 }
}

これが私のディレクトリのスクリーンショットです: スクリーン

私が受け取ったエラーは次のとおりです。または /var/www/example.com/public_html/includes/statReciever.php の 16 行目のディレクトリ、リファラー: http://example.com/

誰でもこれを修正する方法を知っていますか?

ありがとう

4

2 に答える 2

1

include_pathは、常に最初のスクリプトの作業ディレクトリから計算されます。

__DIR__常にクラスのディレクトリをベースパスとして使用するために使用します。

include(__DIR__ . "/../Authentication/Auth.php");
于 2013-03-10T14:45:38.623 に答える
1

いつでも使用できます:

include($_SERVER['DOCUMENT_ROOT'].'/projectFolder/Authentication/Auth.php');

ファイルを含めます。

プロジェクトが開始されindex.php、別のファイルを含むファイルを含めたい場合は、別のファイルのパスが絶対パスであることを確認してください。(場所に基づくindex.php

たとえば、次のconfig.phpような変数を常に定義するという名前の定数ファイルがありました。

define('PROJECT_LOCATION', $_SERVER['DOCUMENT_ROOT'].'/projectFolder');

次に、この定数を使用して、次のようなファイルを含めました。

include(PROJECT_LOCATION.'/Authentication/Auth.php');

またはそのようなもの...

于 2013-03-10T14:46:56.510 に答える