• 締切済み

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
  • 回答数2
  • ありがとう数2

みんなの回答

noname#26650
noname#26650
回答No.2

>  ・モジュールは、include_pathで指定されている、 >     /home/example/share/pear5 >   の直下に置かなければならないのでしょうか。 include_path に合わせてモジュールを置かねばならない、というよりは モジュールを置いた場所に合わせて include_path を適切に書かねばならない、 という方が正確なところであろうと思います。 モジュールを置く場所については特に制限がないけれど、 置いた場所を include_path で正しく指定しておく、ということでありましょう。 【例】 /home/php/pear/ の直下に Cache/Lite.php があるのであれば、 include_path には /home/php/pear/ を書いておき、 スクリプトでは require_once 'Cache/Lite.php' のように書けばよいと思います。

  • sanaex
  • ベストアンサー率0% (0/4)
回答No.1

>(include_path='.:/home/example/share/pear5') このような環境で /home/example/share/pear5/PEAR/Cache Lite.php これがあるのなら、 require 'PEAR/Cache/Lite.php' ではないでしょうか。 >/home/example/share/pear5/ ではインストール出来ず、 /home/example/share/pear5/PEAR ではインストール出来るというのは、 ここはちょっとわからないですが、pear5/に書き込み権限はありますか?

Gooooooogle
質問者

補足

モジュールを、/home/example/share/pear5/PEAR の直下にインストールした状態で、  require 'PEAR/Cache/Lite.php' で実行できるようになりました。 /home/example/share/pear5/ も、 /home/example/share/pear5/PEAR も、パーミッションは"755"なので、 /home/example/share/pear5/ に書き込みが出来ないということはないと思っているのですが、 なぜか書き込みができないんです。

関連するQ&A

  • PEARのパッケージmail_mimeのインストールについて

    初めて質問させていただきます。 色々検索をしましたがわからなかったのでよろしくお願いいたします。 さくらのレンタルサーバー(スタンダード)を使用しております。 PHP Version 5.2.5でPRAEを使用するためインストールをしました。 パッケージのMail_Mimeを使用するためインストール(pear install mail_mime) をしたら下記エラーが出て失敗していまいます。 %pear install mail_mime pear/Mail_Mime requires PEAR Installer (version >= 1.6.0), installed version is 1.5.4 pear/Mail_mimeDecode requires PEAR Installer (version >= 1.6.0), installed versi on is 1.5.4 pear/Mail_mimeDecode requires package "pear/Mail_Mime" (version >= 1.4.0, exclud ed versions: 1.4.0) No valid packages found install failed PEARのバージョンが古いのかと思いバージョンを調べました(下記)が PEARが1.6.2なので1.6.0よりもバージョンが新しいので 何がエラー要因かわかりません。 %pear list INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET: ========================================= PACKAGE VERSION STATE Archive_Tar 1.3.2 stable Auth 1.5.4 stable Auth_HTTP 2.1.6 stable Config 1.10.11 stable Console_Getopt 1.2.3 stable DB 1.7.13 stable HTTP_Request 1.4.2 stable MDB2 2.4.1 stable Mail 1.1.14 stable Net_SMTP 1.2.10 stable Net_Socket 1.0.8 stable Net_URL 1.0.15 stable PEAR 1.6.2 stable Pager 2.4.4 stable Structures_Graph 1.0.2 stable XML_Parser 1.2.8 stable XML_Serializer 0.18.0 beta XML_Util 1.1.4 stable ちなみに %pear config-show CONFIGURATION (CHANNEL PEAR.PHP.NET): ===================================== Auto-discover new Channels auto_discover <not set> Default Channel default_channel pear.php.net HTTP Proxy Server Address http_proxy <not set> PEAR server [DEPRECATED] master_server pear.php.net Default Channel Mirror preferred_mirror pear.php.net Remote Configuration File remote_config <not set> PEAR executables directory bin_dir /home/アカウント名/pear/bin PEAR documentation directory doc_dir /home/アカウント名/pear/docs PHP extension directory ext_dir /home/アカウント名/pear/ext PEAR directory php_dir /home/アカウント名/pear/php PEAR Installer cache directory cache_dir /home/アカウント名/pear/cache PEAR data directory data_dir /home/アカウント名/pear/data PEAR Installer download download_dir /home/アカウント名/pear/temp directory PHP CLI/CGI binary php_bin /usr/local/php-4.4.7/bin/php php.ini location php_ini <not set> PEAR Installer temp directory temp_dir /home/アカウント名/pear/temp PEAR test directory test_dir /home/アカウント名/pear/tests Cache TimeToLive cache_ttl 3600 Preferred Package State preferred_state stable Unix file mask umask 22 Debug Log Level verbose 1 PEAR password (for password <not set> maintainers) Signature Handling Program sig_bin /usr/local/bin/gpg Signature Key Directory sig_keydir /usr/local/php-4.4.7/etc/pearkey Signature Key Id sig_keyid <not set> Package Signature Type sig_type gpg PEAR username (for username <not set> maintainers) User Configuration File Filename /home/アカウント名/.pearrc System Configuration File Filename /usr/local/php-4.4.7/etc/pear.conf どなたかご教授願えないでしょうか? よろしくお願いいたします

    • 締切済み
    • PHP
  • PEARのHTTP_Requestをインストール

    さくらのレンタルサーバーにPEARのHTTP_Requestをインストールし、 http://pear.php.net/manual/ja/package.http.http-request.intro.php にあった、「yahoo.com の内容を取得し、それを表示する」という 以下のスクリプトを実行したのですが、何も表示されません。 test_yahoo.php ---------------------------------------------------- <?php require_once "HTTP/Request.php"; $req =& new HTTP_Request("http://www.yahoo.co.jp/"); if (!PEAR::isError($req->sendRequest())) { echo $req->getResponseBody(); } ?> ---------------------------------------------------- 状態は以下の通りです。 /home/user/.cshrc set path = (~/pear/bin /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin) /home/user/www/php.ini include_path = ".:/php/includes:/home/user/pear/PEAR" %pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.7 stable Console_Getopt 1.3.0 stable HTTP_Request 1.4.4 stable Mail_Mime 1.8.1 stable Net_Socket 1.0.10 stable Net_URL 1.0.15 stable PEAR 1.9.1 stable Structures_Graph 1.0.4 stable XML_Parser 1.3.4 stable XML_Util 1.2.1 stable % ブラウザからhttp://user.sakura.ne.jp/の /home/user/www/test_yahoo.php(属性:755)に アクセスしていますが、何も表示されません。 原因、または調べ方を教えてください。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 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::DBの利用について

    先日、LAMPのインストールが完了しました。 そこで、PHPからMySQLを操作するにPHPの拡張モジュールであるPEAR::DBを利用しようと考えました。 #sudo apt-get install pear とし、pearをインストールしたあとで、 #sudo pear install DB としてDBモジュールをインストールしました。 #sudo pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.3 stable Auth_SASL 1.0.3 stable Console_Getopt 1.2.3 stable DB 1.7.13 stable Log 1.11.6 stable Mail 1.1.14 stable Net_SMTP 1.3.4 stable Net_Socket 1.0.9 stable PEAR 1.9.0 stable Structures_Graph 1.0.3 stable XML_Util 1.2.1 stable 上記がインストールされているものです。 しかし、MySQLにどうしても接続することができません。 /* require_once("DB.php");   // 接続設定  $dbtype = "mysql";   $sv = "localhost";   $dbname = "sampledb";   $user = "root";   $pass = "*******";   // データベースに接続する   $dsn = "$dbtype://$user:$pass@$sv/$dbname";   $conn = DB::connect($dsn);   if (DB::isError($conn)) {   die("接続エラー"); } */ とくに必要な設定とかはあるのでしょうか? php.iniの設定をしなければならないなど。windowsの場合、インクルードパスにpearのインストール先絶対パスを追記したのを覚えています。 どなたか、アドバイスお願い致します。よろしくお願い致します。 環境やバージョン os Linux ubuntu 2.6.31-16-generic apache 2.2.12-1ubuntu2.1 mysql-server 5.1.37-1ubuntu5 php 5.2.10-2ubuntu6.3

    • 締切済み
    • 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_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  PHP 5.2.3  MySQL 5.0.41

    • ベストアンサー
    • PHP
  • 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
  • PEARでrequestする方法

    PEARのインストールを終え pere listで確認をしたのですが requestでしていた場所のphpをうまく読み込んでくれません。 ソースでは ini_set('include_path', ".:/PEAR"); require( "Cache.php" ); require( "Services/AmazonECS4.php" ); とあります 実際のファイルは C:\xampp\php\PEAR\PEAR にあります。 php.iniの;extension=の;をはずしたりしないといけないのでしょうか?

    • 締切済み
    • PHP
  • pear_infoが表示出来ないです。

    いつもお世話になっております。 PEARを使いたくて、 コマンドから C:\>cd php5 C:\php5>go-pear と、インストールをしました。 最後に C:\php5>pear list INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET: ========================================= PACKAGE VERSION STATE Archive_Tar 1.3.2 stable Console_Getopt 1.2.3 stable PEAR 1.6.2 stable PEAR_Info 1.7.0 stable Structures_Graph 1.0.2 stable と表示されたので、無事インストール出来ていると 思ったのですが・・・・。 インストールがちゃんと出来ているか確認する為に、 phpinfo とおなじような感じでpear_infoが 表示出来るという記述を見つけたのでpear_infoをインストールし <?php require_once("PEAR/Info.php"); $info = new PEAR_Info(); $info->show(); ?> と書いたphpファイルを作って表示させて見たのですが No PEAR configuration files (pear.ini or pearsys.ini) found into '/path/to/your/pear/files' directory というエラーが吐き出されております。 phpinfo();で表示される、include_pathは nclude_path .;C:\php5\pear;C:\php5\includes と表示されております。 PHP5のインストールをしなおし、一からやり直してみたのですが 同じエラーが吐き出されて途方にくれております。 気になったのは、PHP5フォルダ内にあるPEARフォルダの 中に、さらにPEARフォルダが存在し、その中にInfo.phpが 存在している事です。 ためしに、include_pathを.;C:\php5\pear\pear;C:\php5\includes と変えてみたところ、こちらは500エラーが でました。 どんな些細な事でもかまわないですので、どかご指導宜しく お願い申し上げます。 作業環境は Win XP Apache2.2 PHP5 MySQL5 です。

    • ベストアンサー
    • PHP
  • PEARインストールについて(xampp

     こんにちは。 xamppを使いPHPの勉強をしております。 PEARインストールの段階で手が止まっており、他の質問を見ても解決せず困っております。 ・OSはWin xp(Home) ・これまでの手順  購入した本を元にPEARをインストールしようと致しましたが、うまく行かず。→購入した書籍のサイトでPEARインストールについて訂正があり、そちらも試したものの、上手くいきませんでした。  また、他のインストール方法を解説しているサイトを見てもなかなかうまくいきませんでしたが、とあるWebサイトの方法を試したところ、コマンドプロンプトにそれまでと違う表示が出てきて、いくつか段階が進みました。 【質問点】 次の結果は、インストールが無事に出来ているのでしょうか??? C:\Documents and Settings\Owner>cd C:\xampp\php C:\xampp\php>pear install MDB2 pear/MDB2 is already installed and is the same as the released version 2.4.1 install failed C:\xampp\php>pear install MDB2#mysql Skipping package "pear/MDB2", already installed as version 2.4.1 No valid packages found install failed C:\xampp\php>pear list INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET: ========================================= PACKAGE VERSION STATE Archive_Tar 1.3.3 stable Console_Getargs 1.3.4 stable Console_Getopt 1.2.3 stable MDB2 2.4.1 stable MDB2_Driver_ibase 1.4.1 stable MDB2_Driver_mssql 1.2.1 stable MDB2_Driver_mysql 1.4.1 stable MDB2_Driver_mysqli 1.4.1 stable MDB2_Driver_oci8 1.4.1 stable MDB2_Driver_pgsql 1.4.1 stable MDB2_Driver_sqlite 1.4.1 stable Mail 1.1.14 stable Mail_Mime 1.5.2 stable Mail_mimeDecode 1.5.0 stable Net_SMTP 1.3.3 stable Net_Socket 1.0.9 stable PEAR 1.8.1 stable PEAR_Info 1.9.2 stable Structures_Graph 1.0.2 stable XML_Util 1.2.1 stable 以上です。 特に3つ目のコマンド(pear install MDB2#mysql)の結果が「上手くいってないのでは???」と首を傾げている状態です。 どなたかお分かりになる方がおられましたら、ご回答を頂けますようお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう