include_pathの追加

phpのお勉強をそれとなく復活。
いつもと違うパソコンで始めたら、include_pathが通っていませんでした。
普段使っているのと設定が微妙に違うらしい。

同じフォルダにあるファイルを、include や reqire で読み込もうとすると、そのたびに違う場所を読みます。
そしていつもこういうエラーが出てきます。

No such file or directory

和訳:オッサン、あんたのやりたいことは分かるが、そこにファイルはないぜ。

【対策】
環境はWindowsXPです。xamppのapacheを使ってます。

普段使っているパソコンでは「環境変数」をいじってパスを通したような覚えが。
そっちは普通にincludeされるので気にしませんでした。
PEARのパスは通したけれど。

こちらのパソコンではPEARのパスは通っているのに
includeパスがとおりません。妙だ。

まずは環境変数に公開用ホルダの場所を追加方法で試します。

【環境変数で直す】
スタート>コントロールパネル>「システム」から「詳細設定」タブ。
最下部にある「環境変数設定」のボタンを押します。
中にある 「path」に、以下※1のパスを追加。

【php.iniにパスを追加して直す】
今回は以下の方法で直接フォルダまでのパスを追加したら、読み込まれるようになりました。
あんまりスマートではないかもしれませんが動いたからヨシ。

※1

xampp>apache>bin>php.ini のファイルをエディタで開く

; Windows: “\path1;\path2”
include_path = “.;C:\xampp\php\pear\(以下略)”

エディタは悪さしないものを使って下さい。
EmEditor Free(WindowsNT/2000/XP/Vista / 文書作成)最近こればっかり。
いじる前に「php00.ini」などとファイルをコピーして、バックアップを取ると良いでしょう。

そして直し方。include_pathに「;」(セミコロン)とフォルダまでの「パス」を追加します。
たとえばザンブのなかにある公開用のhtdocsに「mypage」としてある場合。

「;C:\xampp\htdocs\mypage」 となります。

windowsは「\」でも「¥」同じです。投入すると以下※2のようになります。

※2

xampp>apache>bin>php.ini のファイル

; Windows: “\path1;\path2”
include_path = “.;C:\xampp\php\pear\(中略);C:\xampp\htdocs\mypage\”

include_path php.ini などと設定の語で検索すると出てきます。
私は未だに怪しい、「ファイルシステム」や「絶対パス・相対パス」の意味が理解できた上で取り組んでみて下さい。

PHP5.0/6.PEARのインストール – Ground-SunLight

正直、xamppの設定だけでも手間と時間がかかってしまうため、やってみようと思う人の多くは途中で挫折してしまうでしょう。パッケージが簡単になるか、気の利いた簡単なコントロールパネルがあると良いのですが、それだって「システム」からいじるので結局パソコンの中身がある程度わかるまでは何にせよ苦労はしますわね。

以下余談

【脳内エンコーダー】
この台詞、誰が言うとしっくり来るだろう。時代としては杉田智和の声で言われているような気がするけれど、関俊彦と聞き違えるかもしれない。小杉十郎太なら音がこもり、塩沢兼人ならクールすぎて冷たい。井上和彦かもしれないが、あのあたりは聞き分けにくいです。最近の女アイドル声優は正直もうわからん。興味もないし私の頭の中では「林原めぐみ」は新人。

杉田智和 – Wikipedia
関俊彦 – Wikipedia

何の話だ?

そう、パソコンがしゃべっているように聞こえたら重症。
「乙女の命」並みに私の先は短いのかもしれない。

J-CASTニュース : ジャッキー・チェンが「中国人には管理が必要」発言
これだって石丸博也が言っているような気がしてしまう・・・あぁ、この病気は昔からだ。よかった。まだ先はある。

さっきの台詞を「おじさん、そこにファイルはないよ」に直すと、石丸博也の声がしっくりするよ。(敬称略)