私の知る限り、PHPのgetcwd()
(および類似の関数、例えばdirname(__FILE__)
)は、実行されているファイルの現在のディレクトリを返すことになっています。php getcwd()現在のディレクトリの代わりにsymlinkのターゲットを解決する
カレントディレクトリは(おそらくApacheのと併せて)、PHPがあなたにしている「ディレクトリ」としてシンボリックリンク名を示すパスを返すことになって、別のディレクトリへのシンボリックリンクであることを起こる場合。
例:ブラウザでhttp://localhost/two/index.phpにアクセス
from /var/www,
directory 'one' contains index.php
symlink 'two' points at directory 'one'
one/index.php: <?php echo getcwd(); ?>
は/var/www/one
を示しています。
私はそれが、これは私が変更することができ、PHPやApacheの設定であれば誰でも/var/www/two
を知っています表示するために期待しますか?あるいは、このような方法でシンボリックリンクを使用できないのですか?
あなたはそれを理解しましたか?私はこの同じユースケースに興味があります。 – kalenjordan
Apacheはsymlinkに従うように設定されていますか? 'Options FollowSymLinks'のように –
これはApacheとは関係ないと思います。それはPHPの "機能"です。これをコマンドライン 'mkdir a; ln -s a b; php -r 'chdir( "b"); echo getcwd(); ''、phpはあなたが' b 'にchdir()していても' a 'というディレクトリにいることを示します。 – edam