こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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
 PHP5.2.3
 MySQL5.0.41

投稿日時 - 2007-06-26 11:25:34

QNo.3116824

すぐに回答ほしいです

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

ひょっとして コロンが抜けてる・・・?

include_path=".;c:\php\includes;C\php\PEAR;"

include_path=".;c:\php\includes;C:\php\PEAR"

ではいかがでしょう??

投稿日時 - 2007-06-26 20:21:14

お礼

pear_info.phpが表示できました!!
include_path=".;c:\php\includes;C:\php\PEAR"
に直すとDB::connectもちゃんと動きました。

最初はpathに/と\が混在していたので、\で統一しようとしてコロンを消してしまったようです。本当にありがとうございました。

投稿日時 - 2007-06-26 22:05:10

ANo.5

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

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

投稿日時 - 2007-06-26 17:08:45

お礼

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

投稿日時 - 2007-06-26 22:02:24

ANo.3

書き間違えかは分かりませんが

php.iniのパス
include_path=".;c:\php\includes;C\php\PEAR;"
の 最後のセミコロンはいらないです

投稿日時 - 2007-06-26 15:44:46

お礼

アドバイスをありがとうございます。
php.iniのパスのセミコロンをはずしてApacheをrestartしてみました。

phpinfo()を開くとinclude_path が .;c:\php\includes;C\php\PEAR
とこちらもセミコロンがなくなり、変更が反映されていました。
pear_info.phpでは同じエラーメッセージがでています。

投稿日時 - 2007-06-26 18:39:56

ANo.2

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

投稿日時 - 2007-06-26 12:04:19

お礼

アドバイスをありがとうございます。
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というフォルダは無いのですが、どこかでこれを参照するようになっているのでしょうか?

投稿日時 - 2007-06-26 13:33:21

ANo.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があるはずです。

投稿日時 - 2007-06-26 11:44:48

お礼

アドバイスをありがとうございます。
require_once ("Info.php"); で試したのですが、同じエラーメッセージでした。

"C\php\PEAR をエクスプローラで見るとInfo.phpやDB.phpがあるはずです。"
→DB.phpはPEARフォルダにあり、Info.phpはC:\PHP\PEAR\PEARに入っていました。

投稿日時 - 2007-06-26 12:24:28

あなたにオススメの質問