• ベストアンサー

pear_info.phpも表示できません

PCをサーバーにしてPHPの練習をしている初心者です。最近PEARを入れてDBパッケージをインストールしたのですが、機能しなくて困っています。試しにpear_info.phpを作ってブラウザで開くと下記の警告がでました。 ---------------------------------------------- <?php ini_set ("display_errors", "1"); error_reporting(E_ALL); require_once ("PEAR/Info.php"); //←line 5 $info = new PEAR_Info(); $info->show(); ?>  Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\pear_info.php on line 5 Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Info.php' (include_path='.;c:\php\includes;C\php\PEAR;') in C:\Program Files\Apache Group\Apache2\htdocs\pear_info.php on line 5 (コピーペーストすると\になりましたが、ブラウザの表示では/の逆向きです) ---------------------------------------------- DB::connectでも同様の警告が出ます。PHPとMySQLだけだと問題なく動くのでPEARのパスを確認したのですか、原因が分かりません。助言いただけるとありがたいです。 php.iniのパス  ;***** Added by go-pear  include_path=".;c:\php\includes;C\php\PEAR;"  ;***** phpinfoのinclude_path  .;c:\php\includes;C\php\PEAR;  (コピーペーストすると\になりましたが、ブラウザの表示では/の逆向きです) コマンドプロンプトから "C:\PHP>pear list" での表示  Archive_tar  1.3.2  stable  Console_Getopt  1.2.3  stable  DB  1.7.11 stable  MDB2  2.4.1  stable  PEAR  1.6.0  stable  Pear_info  1.6.1  stable  Structure_Graph  1.0.2  stable PCの環境  Windows XP  Apache  2.0.59  PHP 5.2.3  MySQL 5.0.41

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

  • ベストアンサー
  • wish46
  • ベストアンサー率78% (29/37)
回答No.5

ひょっとして コロンが抜けてる・・・? include_path=".;c:\php\includes;C\php\PEAR;" ↓ include_path=".;c:\php\includes;C:\php\PEAR" ではいかがでしょう??

anklet
質問者

お礼

pear_info.phpが表示できました!! include_path=".;c:\php\includes;C:\php\PEAR" に直すとDB::connectもちゃんと動きました。 最初はpathに/と\が混在していたので、\で統一しようとしてコロンを消してしまったようです。本当にありがとうございました。

その他の回答 (4)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.4

紛らわしいことを書いてすみませんでした 私がPHPをc:\php5にインストールしているだけで特に深い意味はありません

anklet
質問者

お礼

PHPのinstall.txtを読むと、PHP5の場合、デフォルトでextensionを探しにいくところがC:\php5だったのですね。PHPをc:\php5にインストールしていればよかったのかもしれません。参考になりました。

  • wish46
  • ベストアンサー率78% (29/37)
回答No.3

書き間違えかは分かりませんが php.iniのパス include_path=".;c:\php\includes;C\php\PEAR;" の 最後のセミコロンはいらないです

anklet
質問者

お礼

アドバイスをありがとうございます。 php.iniのパスのセミコロンをはずしてApacheをrestartしてみました。 phpinfo()を開くとinclude_path が .;c:\php\includes;C\php\PEAR とこちらもセミコロンがなくなり、変更が反映されていました。 pear_info.phpでは同じエラーメッセージがでています。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

試しにPear_infoをインストールしてみましたが C:\php5\PEAR\PEAR\info.php にインストールされました。 上記のスクリプトをコピーして実行したところちゃんと結果が表示されました。 私の環境では include_path = ".;C:\php5\PEAR" になっています。

anklet
質問者

お礼

アドバイスをありがとうございます。 phpはC:\phpにありますが、PEARをインストールしたときにphp5という文字を見かけたので、調べてみました。go-pearでパスを追加するか聞かれ、Y(yes)とした後のメッセージのメモです。 ---------------- Current include path C:\php5\pear Configured directory C:\php\pear Currently used php.ini(guess) C:\WINDOWS\php.ini Press Enter to continue:  The 'pear' command is now at your service at c:\php\pear.bat ---------------- Current include pathがphp.iniやphpinfoのパスと異なっていました。php5というフォルダは無いのですが、どこかでこれを参照するようになっているのでしょうか?

  • yossan69
  • ベストアンサー率50% (1/2)
回答No.1

私はLinuxでの構築がメインでWindowsでの構築はあまり経験が無いのですが、参考になればと思います。 > phpinfoのinclude_path > .;c:\php\includes;C\php\PEAR とありますので、すでにPEARのフォルダを指定していることになると思います。ので > require_once ("PEAR/Info.php"); //←line 5 の部分ですが「PEAR/」を削除して require_once ("Info.php"); //←line 5 でよいと思います。 C\php\PEAR をエクスプローラで見るとInfo.phpやDB.phpがあるはずです。

anklet
質問者

お礼

アドバイスをありがとうございます。 require_once ("Info.php"); で試したのですが、同じエラーメッセージでした。 "C\php\PEAR をエクスプローラで見るとInfo.phpやDB.phpがあるはずです。" →DB.phpはPEARフォルダにあり、Info.phpはC:\PHP\PEAR\PEARに入っていました。

関連するQ&A