web-dev-qa-db-ja.com

Apacheでシンボリックリンクディレクトリを使用すると、PHPおよびWindows7

ディレクトリのシンボリックリンクを設定しようとしていますが、最も奇妙なエラーが発生します。私は使っている:

mklink/d C:\ www\site\inc C:\ inc

ここで、C:\inc\script.phpは実行する必要のあるファイルです。これは十分に単純なようで、スクリプトを初めて実行するときに(http://localhost/inc/script.phpにアクセスして)機能します。ただし、その後、エラーが発生し、シンボリックリンクを削除して再作成するまで、スクリプトを正常に実行できません(ApacheをシャットダウンしたりWindowsを再起動したりしても効果はありません)。

他のすべてが正常に実行され、シンボリックリンクが機能し、ApacheにはC:\incにアクセスする権限があり、FollowSymLinksも有効になっていることに注意してください。これが私が得ているエラーです:

警告:不明:ストリームを開くことができませんでした:0行目の不明にそのようなファイルまたはディレクトリはありません

致命的なエラー:不明:0行目の不明で「C:/inc/script.php」(include_path = '。;C:\ php5\pear')を開くことができませんでした。

0行目のUnknownとの取引が何であるかを誰かが知っていますか?なぜこのエラーが発生する前に1回だけ実行されるのでしょうか?

3
chawkinsuf

NTFSシンボリックリンクを使用するのではなく、ApacheでAliasを使用して目的を達成してみませんか?

これをhttpd.confに入れてください:

Alias /inc "C:/inc"

<Directory "C:/inc">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>
5
vvsraju