- 締切済み
pearライブラリのインクルードについて
PEARへのパスの通し方の方法を教えていただきたいと思います。 私はハッスルサーバーを使っており、以前に以下のサイトを参考にしてPEARをインストールしました。(PHPのバージョンは5.2です。) http://funweb.sblog.jp/blog/article/%E3%83%8F%E3%83%83%E3%82%B9%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%B8%E3%81%AEPEAR%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB その後、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」と合っているように思います。 他に心当たりがある方がいらっしゃいましたら教えていただければと思います。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- tomaju
- ベストアンサー率76% (84/110)
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"
お礼
tomajuさん ありがとうございます。 区切りはセミコロンではなく、コロンにするとうまくいきました。 その後、 Didn't receive 200 OK from remote server. (HTTP/1.1 500 Internal Server Error) が出るようになったので調べてみます。 ありがとうございました。