0

次のように PHP を呼び出したときに $_SERVER['DOCUMENT_ROOT'] が返すものを返す変数があるかどうか疑問に思っていました: ./somescript

そうでない場合、人々はこのケースをどのように回避しますか? Web ブラウザーとターミナルの両方で同じスクリプト (テンプレート コンパイラー) を呼び出せるようにしたいと考えています。

ありがとう!マット・ミューラー

4

3 に答える 3

3

以前に作成したことがない限り、どこを指してgetcwd()いるのかわからないため、このコマンドはお勧めしません(つまり、自分がいるディレクトリをすでに知っているということです)。作業ディレクトリはphp構成で定義でき、apacheとCLIの間で異なり、一部のphpフレームワークは起動時に変更されます。cwdchdir

apache または cli コンテキスト (さらに、Windows と UNIX で動作) に関係なく常に動作し、プロジェクト ファイル内を移動する必要がある場合は、相対パスを使用dirname(__FILE__)できます。

于 2010-04-29T08:02:34.903 に答える
1

getcwd関数を使用して現在のディレクトリを取得する必要があると思います(または、スクリプトが一番上の場合は単にディレクトリ名(__FILE__))次に、DOCUMENT_ROOT からスクリプトを確実に実行する必要があるだけです。このようなもの:

cd /var/www/
php ./scripts/top.php
于 2010-04-29T07:18:21.147 に答える
-1

ドキュメントルートをハードコードします。
ハードコードは常にソリューションです

于 2010-04-29T07:13:53.133 に答える