アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (5件)

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



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

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

ではいかがでしょう??
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2007/06/26 22:05

紛らわしいことを書いてすみませんでした


私がPHPをc:\php5にインストールしているだけで特に深い意味はありません
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/26 22:02

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



php.iniのパス
include_path=".;c:\php\includes;C\php\PEAR;"
の 最後のセミコロンはいらないです
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2007/06/26 18:39

試しにPear_infoをインストールしてみましたが


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

アドバイスをありがとうございます。
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

私は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があるはずです。
    • good
    • 0
この回答へのお礼

アドバイスをありがとうございます。
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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!