人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpのinclude関数について、エラーが発生します。
あるphpで構築されたソフトを、Windowsのローカル環境(xamppの最新版を使用)で構築しなくてはいけません。このphpソース内には 例:include("/www/PHP/T/4-Menu.php");といった文がありまして、以下のエラーが発生しています。
エラー内容↓
Warning: include(/www/PHP/T/4-Menu.php) [function.include]: failed to open stream: No such file or directory in D:\xampp\htdocs\WWW\htdocs\index.php on line 5
Warning: include() [function.include]: Failed opening '/www/PHP/T/4-Menu.php' for inclusion (include_path='.;C:\php5\pear') in D:\xampp\htdocs\WWW\htdocs\index.php on line 5
今まで調べたところ、Windows環境下ではUnixのパス(ここではinclude内のファイル名の先頭のスラッシュ/)を、ApacheのDocumentRootと正しく認識できないそうです。
phpソースに修正を加えるとなると、大変な労力が必要となります。そこで、例えばphp.iniやapacheの設定などを、変更する方法ですむ方法は、あるのでしょうか?
参考になるページなどなど、有識者の方、どうぞよろしくお願いいたします。

●質問者: staych
●カテゴリ:ウェブ制作
✍キーワード:Apache INDEX ON open Pear
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● y-kawaz
●60ポイント

まず質問者が考えている「include内のファイル名の先頭のスラッシュ/がApacheのDocumentRootと認識するはず」の部分は誤解です。その認識は間違っています。includeの引数の先頭のスラッシュはApacheのDocumentRootではなくファイルシステムのルートディレクトリに対応するものです。

そして、include のパス区切り文字は / でも \ でもどちらでも問題なく動きます。


質問内では 4-Menu.php が置かれている場所の説明が抜けていますが、D:\xampp\htdocs\www\PHP\T\4-Menu.php 等にでも置いているのでしょうか?だとしたらそれは間違いです。

xamppがDドライブにインストールされているのなら、恐らく D:\www\PHP\T\4-Menu.php に置くことでソースは弄らずに正常にインクルードできるでしょう。

http://q.hatena.ne.jp/answer

◎質問者からの返答

D:\xampp\htdocs\www\PHP\T\4-Menu.php に置いていました。移動後、正常に動作しましました。ありがとうございました!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ