- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:windows環境でxamppのphpでunixパス設定)
Windows環境でxamppのphpでunixパス設定
このQ&Aのポイント
- phpソース内でinclude(/www/aaa/test.php);がエラーになる問題が発生しています。
- Windows環境ではUnixのパス(/)は理解できないため、パスを修正しても同じエラーが発生します。
- phpの設定やapacheの設定を変更せずにWindows環境でxamppを使用する方法はあるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>include(\www\aaa\test.php); 予測ですが、 include("\www\aaa\test.php"); こう書いてたりしませんでしょうか。 PHPに限らずですが、ダブルクウォートに括られた文字列は「\」でエスケープされます。 上記場合ですと\w,\a,\tがそれで一文字と判別されます。 Warning: include( est est.php) となるのは\tがタブ文字と判別されてるからでしょう。 解決策としては include('\www\aaa\test.php'); とするか、 include("\\www\\aaa\\test.php"); と\自体をエスケープすればよいです。
その他の回答 (1)
- tany180sx
- ベストアンサー率63% (239/379)
回答No.2
相対パスで読み込むようにしておくか、 __FILE__ などを利用して、ベースのディレクトリを定義しておけば楽かと。 define('BASE_DIR', dirname(__FILE__) . '/'); include(BASE_DIR . 'test.php');
お礼
そうですね。エスケープされていたんですね。 ありがとうございました! そもそも論で申し訳ございませんが、私の質問中で >WindowsではUnixのパス(/は最も上位のフォルダからのパス)は理解出来ないと知りまして これに錯誤がありました。 include のパス区切り文字は / でも \ でもどちらでも問題なく動くようです。あと、今回のミスは単純なapacheの設定とDirectoryの配置ミスでした。