PEARのソースが一部しか読み込めない

このQ&Aのポイント
  • PEARをインストールしたのですが、phpのソースからのrequireがうまく行きません。
  • include_pathはうまく行っているっぽいのでなぜか良くわかりません。
  • エラーの原因を教えていただければ助かります。
回答を見る
  • ベストアンサー

PEARのソースが一部しか読み込めない

PEARをインストールしたのですが、phpのソースからのrequireがうまく行きません。 phpinfo()で見ると include_path .:/usr/local/PEAR .:/usr/local/PEAR となっており、実際 $ ls /usr/local/PEAR/ のコマンドで Archive/     MIME/   docs/ Config/   OS/   pearcmd.php* Config.php*   PEAR/   pearfrontendweb.php* Console/   PEAR.php*   peclcmd.php* HTML/   Structures/   tests/ MDB2/   System.php* MDB2.php*   data/ となります。 このうちPEARディレクトリ直下のConfig.phpやMDB2.phpなどは require 'Config.php'; require 'MDB2.php'; としてもエラーはおきません。 ですが、たとえば/usr/local/PEAR/OS/Guess.phpを使用しようとして require 'Guess.php'とすると、 Warning: require(Guess.php) [function.require]: failed to open stream: No such file or directory in /Users/muttuwo/Sites/test.php on line 2 Fatal error: require() [function.require]: Failed opening required 'Guess.php' (include_path='.:/usr/local/PEAR') in /Users/muttuwo/Sites/test.php on line 2 というエラーが出てしまいます。 PEAR直下のファイルしか読み込めない状態です。 include_pathはうまく行っているっぽいのでなぜか良くわかりません。。 エラーの原因を教えていただければ助かります。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
回答No.1

試してないので「勘」ですが。。。 include_pathからの相対パスを書いてみて、どうですか? 具体的には、Guess.php であれば、   require 'OS/Guess.php'; とか。。。

guttten
質問者

お礼

お礼が遅れてしまい大変申し訳ありません。 おっしゃる通りの方法でできることが確認できました。 ありがとうございました。

関連するQ&A

  • phpのpearが使えない

    いつも参考にさせて頂いています。 pearコマンドが使えなくなってしまいました。シェルでpearと打つと下記エラーが発生します。 【エラー内容】 Warning: require_once(PEAR.php): failed to open stream: No such file or directory in Config.php on line 27 【原因】 おそらく、PEARディレクトリを移動させてしまったからだと思います。 なので、/usr/bin/pearをviで下記のように変更した所、上記エラーが発生しました。 include_pathを/usr/share/php ⇒ /usr/local/php pearを再インストールすれば改善されるでしょうか? できれば再インストールする際の手順なども教えて頂けると嬉しいです。(参考URLでも全然OKです。 それともPEARディレクトリを移動させても問題なく動作させる方法があるでしょうか?どうか宜しくお願いします。

    • ベストアンサー
    • PHP
  • PEARについて

    いつも拝見させていただいております。 <環境> Red Hat Enterprise Linux ES v.4 PHP 4.4.2(cli) この度、PHPをソースからインストールしました。 PEARを使いたいと思っておりますが、何からすればいいのか分からずに困っています 。 include_path は、「.:/usr/local/lib/php」となっており インストールディレクトリで # pear をすると Warning: main(Console/Getopt.php): Failed to open syream: No such file or directory in System.php on line 27 Fatal error: main(): Failed opening required 'Console/Getopt.php' (include_path='/usr/local/lib/php') in /usr/local/lib/php/System.php on line 27 とエラーになってしまいます。 ご教授お願いいたします。

    • 締切済み
    • PHP
  • PHP PEARパッケージのincludeができない。

    PHP PEARパッケージのincludeができない。 お世話になっております。 phpのPEARパッケージのincludeができません。 行うと PHP Warning: require_once(File/CSV.php): failed to open stream: そのようなファイルやディ レクトリはありません in /var/www/httpdocs/XXXXXXXX.php on line 10 PHP Fatal error: require_once(): Failed opening required 'File/CSV.php' (include_path='.:/usr/share/pear') in /var/www/httpdocs/XXXXXXXX.php on line 10 となってしまいます。 エラーメッセージ中の/usr/share/pear上に確かに存在します。 何か他に条件などあるのでしょうか? お願いいたします。

    • ベストアンサー
    • PHP
  • PEARをfedoraで使いたい。

    こんばんは。 PHPのPEARを、fedoraサーバーで使いたいと思っているのですが、 うまくいかないので質問させてください。 まず、コマンドプロンプトで、pear と打つと、どこで打っても、 /usr/local/bin/php: error while loading shared libraries: libmysqlclient.so.14: cannot open shared object file: No such file or directory というエラーが出ます。 これが主な原因かと思うのですが、対処法を調べましたがよくわかりません。。 このエラーが出ないようにするにはどうすればよいでしょうか? phpinfo.php  での情報は、 include_path  が、.:/usr/share/pear which pear コマンドでは、 /user/local/bin/pear でした。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHP PEARのWeeks.phpの場所

    Fatal error: require_once() [function.require]: Failed opening required 'Calendar/Month/Weeks.php' (include_path='.:/php/includes:/usr/share/php/smarty') in /opt/lampp/htdocs/samples/chapter6/6-4/calendar_pear.php on line 8 というエラーが出ているので調べています。 PEARのCalendar/Month/Weeks.phpは、デフォルトではどこにインストールされるものなんでしょうか? PEARはインストールしてあって、pear install Calendar-0.5.5もやっていて、 pear install Calendar と打つと pear/Calendar is already installed and is the same as the released version 0.5.5 install failed と、既にインストールされてます、と出ます。 /usr/share/php/PEARが存在することは確認したのですが、find . "Weeks.php"と打っても 「find: `Weeks.php': そのようなファイルやディレクトリはありません」と出ます。 調べる方法があれば教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PEARのインストール

    初めまして。今日からphpの勉強を始めた超・初心者です。 PEARのインストールがうまくいかず、下記のエラーが出ます。他の回答も試してみましたが、うまくいきません。 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\phpbook\pear_info.php on line 2 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\phpbook\pear_info.php on line 2 apache2.0.63 php5.1.6 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PEARのメールが突然使えなくなりました

    Warning: include_once(Net/SMTP.php): failed to open stream: No such file or directory in ○○○/PEAR/Mail/smtp.php on line 348 Warning: include_once(): Failed opening 'Net/SMTP.php' for inclusion (include_path='.:/usr/local/php/5.5/lib/php') in ○○○/PEAR/Mail/smtp.php on line 348 Fatal error: Class 'Net_SMTP' not found in ○○○/PEAR/Mail/smtp.php on line 349 メールフォームを作って使っていたのですが、昨日の夕方頃から上記のようなエラーメッセージが出て利用できなくなりました。 どうやらNetディレクトリ内のSMTP.phpというファイルが見つからないという内容のように見えますが、ちゃんと該当のディレクトリもファイルも存在しています。 ただ、include_onceで指定しているパスが"Net/SMTP.php"となっているので、これだとMailディレクトリのsmtp.phpで呼び出している以上、Mailディレクトリの中にあるNetディレクトリのSMTP.phpでないといけないような気がするんですが、NetディレクトリはMailディレクトリが置かれているディレクトリにあります。 これが原因? でも、今までこの状態で使ってきたはずだし、昨日の昼頃まで普通に使えていました。 それがファイルを書き換えるどころか、サーバーにアクセスしてすらいないのに、なぜ突然このような状態になってしまったのかがわかりません。 単純にNetディレクトリをMailディレクトリの中に移し替えれば良いのでしょうか? ただ、PEARはインストールツールみたいなものでインストールしたので、手動で勝手にディレクトリの位置を変えて良いのか分からず、怖くてできません。 最初からPEARをインストールし直した方が良いのでしょうか? 何かお分かりになる方がいらっしゃいましたら、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PEARのライブラリはどこにインストールされるのでしょう

    お疲れ様です。 お世話になっております。 HTML_QuickFormに関して質問です。 CentOSでPEARをインストールし、 pear install HTML_QuickFormでインストールしました。 pear list すると HTML_Common 1.2.4 stable HTML_QuickForm 3.2.9 stable PEAR 1.4.9 stable と、インストールは確認できます。 php.iniのinclude_pathは include_path =".:/usr/lib/php/smarty:/usr/lib/php/pear" となっています。 smartyはrequire_once"Smarty.class.php";で呼び出しできるのですが、 HTML_QuickFormが"HTML/quick_form.php"でfile not foundになってしまいます。 pearのディレクトリをのぞいてみたら空の状態なんですが、いったいどこにHTML_QuickFormはインストールされているのでしょうか。 pearのライブラリはpearの配下にくると思っていたのですが。 呼び出すにはどこのパスを指定すればよいのでしょう・・・。

    • 締切済み
    • PHP
  • PEARの参照先

    PHP5環境下でPEARモジュールをインストールしましたが、実行時にモジュールがないというエラーメッセージが表示され、対応をしています。 お助けください。 1.現象  PHP5のプログラム実行時にエラーとなってしまい、下記のメッセージが表示されました。 Warning: require_once(Cache/Lite.php) [function.require-once]: failed to open stream: No such file or directory in ・・・ Fatal error: require_once() [function.require]: Failed opening required 'Cache/Lite.php' (include_path='.:/home/example/share/pear5') in ・・・ 2.環境  ・さくらインターネット(FreeBSD)でPHP5を独自にインストールしPEARライブラリも導入済です。    PHP5実行ファイルのインストール先 /home/example/www/cgi-bin  ・phpinfo()で確認した、include_pathは下記の通りです。    .:/home/example/share/pear5  ・pear config-show で確認した結果は、下記の通りです。    pear config-set bin_dir /home/example/share/pear5/bin    pear config-set doc_dir /home/example/share/pear5/PEAR/docs    pear config-set ext_dir /home/example/share/pear5/PEAR/extensions    pear config-set php_dir /home/example/share/pear5/PEAR    pear config-set cache_dir /home/example/share/pear5/PEAR/cache    pear config-set data_dir /home/example/share/pear5/PEAR/data    pear config-set php_bin /home/example/www/cgi-bin    pear config-set test_dir /home/example/share/pear5/PEAR/tests    pear config-set download_dir /home/example/share/pear5/temp/download    pear config-set temp_dir /home/example/share/pear5/temp  ・pear list で確認した結果は、下記の通りです。    Archive_Tar 1.3.2 stable    Cache_Lite 1.7.2 stable    Console_Getopt 1.2.2 stable    HTML_Templete_IT 1.2.1 stable    Net_UserAgent_Detect 2.2.0 stable    PEAR 1.5.1 stable    PEAR_Frontend_Web 0.5.1 alpha    Structures_Graph 1.0.2 stable ・Cache_Liteの所在     /home/example/share/pear5 の中で、Cache_Lite らしきモジュールを     探してみたところ、下記のディレクトリにありました。          /home/example/share/pear5/PEAR/Cache        Lite.php      /home/example/share/pear5/PEAR/Cache/Lite        File.php        Function.php        Output.php      /home/example/share/pear5/PEAR/tests/Cache_Lite/tests        拡張子.phptのファイルが多数   ・PEARおよび、モジュールのインストールは下記のサイトを参照して実行しています。    http://zenryokuhp.com/server/sakura_pear.htm 3.疑問点   ・モジュールは、include_pathで指定されている、      /home/example/share/pear5    の直下に置かなければならないのでしょうか。   ・現在、モジュールは /home/example/share/pear5/PEAR に存在しているのですが、    include_pathで指定した位置よりも、1階層下に置いてはいけないのでしょうか。   ・再度、PHP5とPEARのインストールをやり直し、pear config-set コマンドにて、      pear config-set php_dir /home/example/share/pear5/    と設定し、モジュール"Cache_Lite"をインストールしようとしましたが、      "Cannot install, php_dir for channel "pear.php.net" is not writeable the current user"    と表示されて、インストールが出来ませんでした。    /home/example/share/pear5/ ではインストール出来ず、    /home/example/share/pear5/PEAR ではインストール出来るというのは、    PHP5をインストールしたときに同時に登録されるPEARのディレクトリには    インストール出来ないということなのでしょうか。 以上、ご教授をお願いいたします。

    • 締切済み
    • PHP
  • PEAR include_pathについて

    はじめまして。色々と調べてみたのですが解決できずにいます。誰か助けて頂けると助かります。学校の部活で「PEARのXML_RSSでRSSを取得してみよ」という課題が出ました。私の家では全てのPCがマックなのでMAMPをつかって以下のような環境でやっています。そこで http://o-ume8.com/junsdiary2/archives/2006/08/20060806_1726.phpを参考に課題に取りかかろうとして試しにPEAR_Infoを試してみたのですが Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in /Applications/MAMP/htdocs/pear_info.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Info.php' (include_path='.:/Applications/MAMP/bin/php5/lib/php') in /Applications/MAMP/htdocs/pear_info.php on line 2 の様なエラーが出てしまいます。 pathが通ってないのでしょうか? それとターミナルでphp -v と打つともとのOSの4.4.4と出ます。 phpinfoではちゃんと5.2.0と出ます。 ご教授お願いいたします。 =====環境==== MAMP 1.5 beta 1 PPC os osx 10.4.8 Apache/2.0.59 php 5.2.0 <php.ini> include_path = ".:/Applications/MAMP/bin/php5/lib/php"

    • 締切済み
    • PHP

専門家に質問してみよう