- ベストアンサー
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
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ひょっとして コロンが抜けてる・・・? include_path=".;c:\php\includes;C\php\PEAR;" ↓ include_path=".;c:\php\includes;C:\php\PEAR" ではいかがでしょう??
その他の回答 (4)
- php504
- ベストアンサー率42% (926/2160)
紛らわしいことを書いてすみませんでした 私がPHPをc:\php5にインストールしているだけで特に深い意味はありません
お礼
PHPのinstall.txtを読むと、PHP5の場合、デフォルトでextensionを探しにいくところがC:\php5だったのですね。PHPをc:\php5にインストールしていればよかったのかもしれません。参考になりました。
- wish46
- ベストアンサー率78% (29/37)
書き間違えかは分かりませんが php.iniのパス include_path=".;c:\php\includes;C\php\PEAR;" の 最後のセミコロンはいらないです
お礼
アドバイスをありがとうございます。 php.iniのパスのセミコロンをはずしてApacheをrestartしてみました。 phpinfo()を開くとinclude_path が .;c:\php\includes;C\php\PEAR とこちらもセミコロンがなくなり、変更が反映されていました。 pear_info.phpでは同じエラーメッセージがでています。
- php504
- ベストアンサー率42% (926/2160)
試しにPear_infoをインストールしてみましたが C:\php5\PEAR\PEAR\info.php にインストールされました。 上記のスクリプトをコピーして実行したところちゃんと結果が表示されました。 私の環境では include_path = ".;C:\php5\PEAR" になっています。
お礼
アドバイスをありがとうございます。 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)
私は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があるはずです。
お礼
アドバイスをありがとうございます。 require_once ("Info.php"); で試したのですが、同じエラーメッセージでした。 "C\php\PEAR をエクスプローラで見るとInfo.phpやDB.phpがあるはずです。" →DB.phpはPEARフォルダにあり、Info.phpはC:\PHP\PEAR\PEARに入っていました。
お礼
pear_info.phpが表示できました!! include_path=".;c:\php\includes;C:\php\PEAR" に直すとDB::connectもちゃんと動きました。 最初はpathに/と\が混在していたので、\で統一しようとしてコロンを消してしまったようです。本当にありがとうございました。