個人的に root になれない状況があまり無いのであまりこういった状況は無いのですが。。。
サーバに pear はインストールされているけど root になれない場合に使いたいモジュールをインストールする方法です。
/home/hoge/pear に pear::pager をインストールする場合の例です。
インストール前の状態
$ pear list Installed packages, channel pear.php.net: ========================================= Package Version State Archive_Tar 1.3.1 stable Console_Getopt 1.2 stable PEAR 1.4.9 stable XML_RPC 1.5.0 stable |
pear::pager の install
$ mkdir /home/hoge/pear $ cd /home/hoge/pear $ pear config-create /home/hoge .pearrc 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 <not set> Default Channel Mirror preferred_mirror <not set> Remote Configuration File remote_config <not set> PEAR executables directory bin_dir /home/hoge/pear PEAR documentation directory doc_dir /home/hoge/pear/docs PHP extension directory ext_dir /home/hoge/pear/ext PEAR directory php_dir /home/hoge/pear/php PEAR Installer cache directory cache_dir /home/hoge/pear/cache PEAR data directory data_dir /home/hoge/pear/data PHP CLI/CGI binary php_bin <not set> PEAR test directory test_dir /home/hoge/pear/tests Cache TimeToLive cache_ttl <not set> Preferred Package State preferred_state <not set> Unix file mask umask <not set> Debug Log Level verbose <not set> PEAR password (for password <not set> maintainers) Signature Handling Program sig_bin <not set> Signature Key Directory sig_keydir <not set> Signature Key Id sig_keyid <not set> Package Signature Type sig_type <not set> PEAR username (for username <not set> maintainers) User Configuration File Filename /home/hoge/pear/.pearrc System Configuration File Filename #no#system#config# Successfully created default configuration file "/home/hoge/pear/.pearrc" |
設定の確認
$ pear -c .pearrc config-show |
作成した pear 環境のインストール状況を確認。
$ pear -c .pearrc list (no packages installed from channel pear.php.net) |
pear::pager のインストール
$ pear -c .pearrc install pager downloading Pager-2.4.9.tgz ... Starting to download Pager-2.4.9.tgz (36,055 bytes) ..........done: 36,055 bytes install ok: channel://pear.php.net/Pager-2.4.9 |
インストールできたか確認
$ pear -c .pearrc list Installed packages, channel pear.php.net: ========================================= Package Version State Pager 2.4.9 stable |
インストールした pear::pager を使う方法
php の include_path に /home/hoge/pear/php を追加する。 ini_set('include_path', '/home/hoge/pear/php'.PATH_SEPARATOR.ini_get('include_path')); |
そして、インストール先を apache が参照できるよう chmod などする。
$ chmod -R g+rx /home/hoge $ chgrp -R apache /home/hoge |