2016-08-10 29 views
0

私はXAMPPのもとで動作する既存のPHP Webプロジェクトを持っており、より安全でメンテナンスしやすいように、展開前に整理しています。ここconfig.phpへのPHPパスの定義

私は今試みる

enter image description hereを示すように、これらのステップの一つは、私は、リソースフォルダ内のconfig.phpファイルを配置しているPHP Site Templates

に類似したconfig.phpファイルの中にいくつかの重要な変数を移動することでした次のようにconfigファイルをインクルードします。

include 'resources/config.php'; 
echo ("Template path is ".TEMPLATES_PATH); 

結果として、TEMPLATES_PATH定義が見つかりません。私は今、ルートディレクトリ(htdocsに)にconfig.phpファイルを移動すると、それはindex.phpファイルと同じレベルであり、変更

include 'config.php'; 
echo ("Template path is ".TEMPLATES_PATH); 

に含まTEMPLATES_PATHが定義されており、サイトが機能しています。

ほとんどすべての絶対パスを無駄にしようとしました。これは、私が把握していないPHPパス構造の1つまたは複数の側面についての基本的な理解がないことを示しているので、これに関する洞察は大いに感謝します。

答えて

0

は作曲がより良い選択で使用して、ところで

include __DIR__ . '/resources/config.php';

を試してみてください!

"autoload": { 
    "files": ["/resources/config.php"] 
} 
+0

ありがとうございましたが、私はそれらすべてを試しました。これは上記と同じ動作をします。上記を "include __DIR__。/config.php 'に変更すると、期待どおりに動作します。 –

+0

@Alex index.phpファイルを含む新しい画像を投稿してください。 –

+0

ありがとうございました。はい、私はちょうどそれをしました。 –

0

ここでは、謎に答えています。しかし、まず助けようとしたすべての人に感謝します。

私は `

define("TEMPLATES_PATH", realpath(dirname(__FILE__) . 'resources/templates'));` 

の定義が正しくないとして発見されていたであろうconfig.phpファイルの内容を掲載していた場合。 config.phpファイルのファイルパスは、ディレクトリ構造ではなく、ファイルに相対的です。したがって、ファイルをルートディレクトリに移動することで、上記の定義が機能するようになりましたが、リソースフォルダ内でリソースディレクトリが指定されていませんでした。したがって、解決策は、config.phpファイル内の指定がプロジェクト内のそのファイルの場所を基準にしていることを確認することです。上記を次のように変更します。

define("TEMPLATES_PATH", realpath(dirname(__FILE__) . '/templates')); 

この問題は修正されています。

関連する問題