プロが教えるわが家の防犯対策術!

PEARへのパスの通し方の方法を教えていただきたいと思います。

私はハッスルサーバーを使っており、以前に以下のサイトを参考にしてPEARをインストールしました。(PHPのバージョンは5.2です。)

http://funweb.sblog.jp/blog/article/%E3%83%8F%E3 …


その後、XML-RPCを使用したPHPプログラムを作成し、
以下の場所に配置しました。

<ドキュメントルート配下>
・pear(フォルダ)
  ・bin(フォルダ)
  ・PEAR(フォルダ)
  ・pear.conf
  ・phpプログラム ←配置したプログラム
・wp(フォルダ)

phpプログラムにはrequire_once("XML/RPC.php");
と記述しているのですが実行すると以下のエラーが出ます

Warning: require_once(XML/RPC.php) [function.require-once]: failed to open stream: No such file or directory in /home/xxx/public/www/pear/xxx.php on line 2

Fatal error: require_once() [function.require]: Failed opening required 'XML/RPC.php' (include_path='“.:/home/xxx/public/www/pear/PEAR”') in /home/xxx/public/www/pear/xxx.php on line 2

php.iniのインクルードパスには「
include_path = ".;/home/xxx/public/www/pear/PEAR";」と記述しています。

問題はパスの記述か、XMLフォルダの存在の有無かのどちらかだろうと判断し、
XMLフォルダの存在を確認するためにphpプログラムの方を以下のように
フルパスで記述しました。
require_once("/home/xxx/public/www/pear/PEAR/XML/RPC.php");

すると今度は以下のエラーが出ました。
Warning: include_once(PEAR.php) [function.include-once]: failed to open stream: No such file or directory in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 594

Warning: include_once() [function.include]: Failed opening 'PEAR.php' for inclusion (include_path='.;/home/xxx/public/www/pear/PEAR') in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 594

Fatal error: Class 'PEAR' not found in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 596

これでXMLフォルダが存在することは分かったのであとはインクルードパスの問題と判断しました。
しかし、インクルードパスは何度確認しても「/home/xxx/public/www/pear/PEAR」と合っているように思います。

他に心当たりがある方がいらっしゃいましたら教えていただければと思います。

宜しくお願い致します。

A 回答 (1件)

php.ini の include_path を再度見直してみてください。




> Fatal error: require_once() [function.require]: Failed opening required 'XML/RPC.php'
> (include_path='“.:/home/xxx/public/www/pear/PEAR”')
> in /home/xxx/public/www/pear/xxx.php on line 2

include_path の ダブルクォーテーションが全角になっていませんか?


> Warning: include_once() [function.include]: Failed opening 'PEAR.php' for inclusion
> (include_path='.;/home/xxx/public/www/pear/PEAR')
> in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 594

サーバーOSがUNIX系ならば、複数のパスを並べるときの区切りはセミコロン ; ではなく、コロン : を
使う必要があるかと思います。


include_path = ".:/home/xxx/public/www/pear/PEAR"
    • good
    • 0
この回答へのお礼

tomajuさん

ありがとうございます。

区切りはセミコロンではなく、コロンにするとうまくいきました。

その後、
Didn't receive 200 OK from remote server. (HTTP/1.1 500 Internal Server Error)
が出るようになったので調べてみます。

ありがとうございました。

お礼日時:2011/08/30 06:33

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