- ベストアンサー
include_pathについて
- サーバーのinclude_pathについて疑問があります。
- レンサバ.comでレンタル中のサーバーのinclude_pathには.:と書かれています。
- 他のサイトではusr/~と書かれていることが多いのですが、どちらが正しいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
「.:」の意味ですが、これはインクルードするファイルを探しに行く場所は実行するphpファイルが存在するディレクトリだけ、という意味です。 要するに「include "hoge.php";」と書くとカレントディレクトリだけを探しに行きます。 realpath(dirname(__FILE__)); の実行で出力されたパスは、実行したphpを設置しているディレクトリで、フルパスで出力されます。 >一応includeしているのですが の意味がよくわかりません。 仮に、 index.php hoge.php というファイルがあったとして、indexからhogeをインクルードするのに、 「include "/export/saba3/www/jp/r/e/gmoserver/●/●/*****/*****.com/hoge.php";」 みたいにフルパスで記入しているということでしょうか? もしそうなら、そしてhoge.phpがindex.phpと同じディレクトリにあるなら、単に 「include "hoge.php";」 でいいですよ。 これが仮に、以下のようにsubdirというディレクトリにhoge.phpが置かれているなら、 index.php subdir/hoge.php 「include "subdir/hoge.php";」 とする必要があります。
その他の回答 (1)
- 0x131cc6e
- ベストアンサー率36% (42/115)
#1です。 >なぜ皆さん.:だけにしないのですかね? 普通、phpをインストールしたディレクトリにpearなどのライブラリもインストールされるので、そこを検索対象にする意味で、 .:/usr/local/lib/php:/usr/local/lib/php/pear などと記述するんです。 >(コレだとどんな不都合がおきるのですか?) #1で書いた通り、検索対象がカレントディレクトリだけになるのでpearなどの便利なライブラリが使えません。 >そもそもusrとかlocalやlibやbinとかもう分けわかんないです。 先にUnixやLinuxについて少し勉強された方がいいですね。 レンタルサーバのOSについて、レンタル元から何らかの情報が提供されていると思います。(例えばOSの種類とか、各種ディレクトリ構成とか) それがよくわからない状態だと、サーバを扱うのはちょっと厳しいですよ。
お礼
お答えありがとうございます。 そうですね、もっと勉強が大事ですね。 ありがとうございました。
お礼
丁寧な回答ありがとうございます。 すこし疑問におもったのですが、ネットで調べてて.:だけの人がいませんでした。 .:/usr/local/lib/phpとか .:/usr/local/lib/php/pearとか… なぜ皆さん.:だけにしないのですかね?(コレだとどんな不都合がおきるのですか?) そもそもusrとかlocalやlibやbinとかもう分けわかんないです。 サーバーの仕組みというか階層?("/export/saba3/www/jp/r/e/gmoserver/●/●/*****/*****.com/) が理解できてなくてすいません。