PEAR-localを使ってたのだけど、環境が変わってしまったためにpearコマンドが使えなくなった場合。
http://wiki.poyo.jp/read/PHP/tips/pear/pear/rebuild_confから
<?php define('PHP_PEAR_INSTALL_DIR', 'PEAR-localのインストールディレクトリ'); define('PHP_PEAR_SYSCONF_DIR', PHP_PEAR_INSTALL_DIR.'cfg/'); define('PHP_PEAR_SYSCONF_PATH', PHP_PEAR_SYSCONF_DIR.'pear.conf'); define('PHP_PEAR_TMP_DIR', PHP_PEAR_INSTALL_DIR.'tmp/pear/'); ini_set('include_path', PHP_PEAR_INSTALL_DIR); require_once "PEAR/Config.php"; $obj = &new PEAR_Config(PHP_PEAR_SYSCONF_PATH, PHP_PEAR_SYSCONF_PATH.'-dist'); $obj->removeLayer('user');; $result = $obj->mergeConfigFile(DF_PATH_PEAR_CONFIG.'-dist', true, 'user'); if (PEAR::isError($result)) { echo "Reading the configlation file failed.\n"; } else { echo "Reading the configlation file successed.\n"; } $obj->set('bin_dir', PHP_PEAR_INSTALL_DIR.'bin/'); $obj->set('doc_dir', PHP_PEAR_INSTALL_DIR.'docs/'); $obj->set('data_dir', PHP_PEAR_INSTALL_DIR.'data/'); $obj->set('php_dir', PHP_PEAR_INSTALL_DIR); $obj->set('test_dir', PHP_PEAR_INSTALL_DIR.'tests/'); $obj->set('cache_dir', PHP_PEAR_TMP_DIR.'cache/'); $obj->set('temp_dir', PHP_PEAR_TMP_DIR); $obj->set('download_dir', PHP_PEAR_TMP_DIR.'download/'); echo "New settings:\n"; foreach ($obj->getKeys() as $key) { echo "$key: ".var_dump($obj->get($key)); } echo "\n\n"; $result = $obj->store('user'); if (PEAR::isError($result)) { echo "Writing the configuration file failed.\n"; } else { echo "Writing the configuration file successed.\n"; }
を作って、PHPで実行。
すると、PHP_PEAR_SYSCONF_PATHにファイルができてる。
これを、ユーザーのホームディレクトリに移動。
あるいは、
$set PHP_PEAR_SYSCONF_DIR = PHP_PEAR_SYSCONF_PATH $export PHP_PEAR_SYSCONF_DIR = PHP_PEAR_SYSCONF_PATH