3

PHP と JavaScript を使用する Web アプリケーションで作業していますが、ルートにないページに他のファイルが含まれている場合 (つまり、'include once') にアクセスする際に問題が発生します。

[file system]/www/project/test/test.php

プロジェクト フォルダにはindex.php. これが私のコードの例です:

include_once('../config/config.php');
include_once('../database/database.php');
echo 'Test.php';

$config = new Config();
$dbhandle = new Database();

[...]

ここで何が間違っていますか?

Apache のエラー ログには、ファイル config.php と database.php がないことが示されています。

4

2 に答える 2

3

$_SERVER['DOCUMENT_ROOT'] を使用して、次のようにパスをサーバーのルート パスに再配置します。

 $root_path =  $_SERVER['DOCUMENT_ROOT'] ; //Returns the root path of your server

 //Then call your inlude_once with the absolute path
 include_once($root_path . '/project/config/config.php')

したがって、すべてのパスは絶対パスであり、相対パスではありません。それが役立つことを願っています。

PS : より大きなプロジェクトで依存関係を簡単にルーティングする魔法のような php フレームワークを使用して、快適に過ごすこともできます。

于 2012-08-15T17:02:49.090 に答える
1

ドキュメントルートの使用を取得する

$_SERVER['DOCUMENT_ROOT'];

それゆえ

include_once($_SERVER['DOCUMENT_ROOT'] . '/project/config/config.php');

あなたのために働くはずです。

于 2012-08-15T17:03:01.317 に答える