• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:include_pathについて)

include_pathについて

このQ&Aのポイント
  • サーバーのinclude_pathについて疑問があります。
  • レンサバ.comでレンタル中のサーバーのinclude_pathには.:と書かれています。
  • 他のサイトではusr/~と書かれていることが多いのですが、どちらが正しいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • 0x131cc6e
  • ベストアンサー率36% (42/115)
回答No.1

「.:」の意味ですが、これはインクルードするファイルを探しに行く場所は実行する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";」 とする必要があります。

Vitamin4
質問者

お礼

丁寧な回答ありがとうございます。 すこし疑問におもったのですが、ネットで調べてて.:だけの人がいませんでした。 .:/usr/local/lib/phpとか .:/usr/local/lib/php/pearとか… なぜ皆さん.:だけにしないのですかね?(コレだとどんな不都合がおきるのですか?) そもそもusrとかlocalやlibやbinとかもう分けわかんないです。 サーバーの仕組みというか階層?("/export/saba3/​​www/jp/r/e/gmoserver/​​●/●/*****/*****.com/) が理解できてなくてすいません。

その他の回答 (1)

  • 0x131cc6e
  • ベストアンサー率36% (42/115)
回答No.2

#1です。 >なぜ皆さん.:だけにしないのですかね? 普通、phpをインストールしたディレクトリにpearなどのライブラリもインストールされるので、そこを検索対象にする意味で、 .:/usr/local/lib/php:/usr/local/lib/php/pear などと記述するんです。 >(コレだとどんな不都合がおきるのですか?) #1で書いた通り、検索対象がカレントディレクトリだけになるのでpearなどの便利なライブラリが使えません。 >そもそもusrとかlocalやlibやbinとかもう分けわかんないです。 先にUnixやLinuxについて少し勉強された方がいいですね。 レンタルサーバのOSについて、レンタル元から何らかの情報が提供されていると思います。(例えばOSの種類とか、各種ディレクトリ構成とか) それがよくわからない状態だと、サーバを扱うのはちょっと厳しいですよ。

Vitamin4
質問者

お礼

お答えありがとうございます。 そうですね、もっと勉強が大事ですね。 ありがとうございました。

関連するQ&A