Я загрузил ZIP-архив PHP и извлек его под свой профиль.  Затем мне понадобились пакеты PEAR.  go-pear.bat по go-pear.bat видимому, установил PEAR просто отлично, мне просто нужно было после этого перейти в файл pear.bat и адаптировать путь к php.exe – php.exe и после этого он работал. 
Однако, когда я пытаюсь установить что-то, я получаю следующую ошибку:
ERROR: не удалось выполнить mkdir C: \ php5 \ pear \ data \ Console_CommandLine \ data
  Естественно, в корневом каталоге не разрешен доступ на запись, но я немного не понимаю, как именно PEAR считает, что он должен устанавливать что-либо в месте, которое ни существует, ни настроено нигде.  В настоящее время PHP находится где-то ниже H:\ (subst'ed в моем профиле).  Все пути, которые я вводил во время установки PEAR, были работоспособны, и единственное место, где я могу найти C:\php5 находится в PEAR/go-pear.phar и в документации.  Один из них – это то, что я не должен менять в любом случае, я думаю, и другое вряд ли имеет отношение к самой программе. 
  Теперь я, вероятно, могу войти и сделать C:\php5 / symlink в каталог, в котором находится PHP в настоящее время или фактически установить его в этом месте – обе вещи, которые я бы предпочел избежать, поскольку это изначально предназначалось для небольшого теста что нибудь. 
  Я с тех пор смотрел в pear help install и, видимо, я могу использовать -P или -R чтобы установить некоторые пути.  Точная разница между ними до сих пор остается неясной для меня, но, думаю, это не помешает попробовать.  Как-то результат был … неожиданным: 
  -PH:\Downloads\php\PEAR привели к забавной ошибке (среди прочего) 
ERROR: не удалось выполнить mkdir C: \ Downloads \ php \ PEAR \ php5 \ pear \ data \ Console_CommandLine \ data
  в то время как -R использует один и тот же путь (по-видимому -R диктует, где загружаются файлы, поскольку это работало до того, как я предполагаю, что я не должен касаться этого) привело к еще большему веселью: 
каталог загрузки «C: \ Downloads \ php \ PEAR \ Users \ JOHANN ~ 1 \ AppData \ Local \ Temp \ pear \ download" не может быть записан. Изменить переменную config_load_dir на записываемый каталог
  К настоящему моменту я предполагаю, что C:\ и php5 где-то жестко закодированы без видимой причины (мои переменные среды также не содержат ничего подобного), поэтому я снова буду рыть, на этот раз ищу более короткую строку и, следовательно, более длинные списки результатов. 
Но если у кого-то есть представление об этом, тем может быть полезно.
  Проблема в том, что PEAR ищет свой ini-файл в каталоге Windows, и поскольку он его не находит, он прибегает к угадыванию местоположения.  Хуже того, вы не можете изменить какие-либо настройки конфигурации с помощью pear config-set потому что PEAR не имеет pear.ini для записи.  В то же время PEAR игнорирует существующий файл pear.ini в своем собственном каталоге.  Это беспорядок.  См. Отчет об ошибке . 
  Если есть только одна глобальная установка PEAR, PEAR может быть рассказано, где искать INI-файл, создав переменную окружения PHP_PEAR_SYSCONF_DIR , указав на правильный каталог. 
Но если есть несколько локальных PEAR-установок, вам придется заплатить pear.bat, добавив эту строку:
 IF "%PHP_PEAR_SYSCONF_DIR%"=="" SET "PHP_PEAR_SYSCONF_DIR=C:\path\to\pear.ini\directory" 
Немного лучший вариант, чем ответ Майкла Х, может быть:
  Откройте $prefix\pear\PEAR\Config.php где $prefix – это значение, используемое в установщике PEAR.  (В моей системе Windows $prefix был C:\php\5.4.0 ) 
Найдите раздел ниже:
 if (getenv('PHP_PEAR_SYSCONF_DIR')) { define('PEAR_CONFIG_SYSCONFDIR', getenv('PHP_PEAR_SYSCONF_DIR')); } elseif (getenv('SystemRoot')) { define('PEAR_CONFIG_SYSCONFDIR', getenv('SystemRoot')); } else { define('PEAR_CONFIG_SYSCONFDIR', PHP_SYSCONFDIR); } 
И внесите следующие изменения:
 if (getenv('PHP_PEAR_SYSCONF_DIR')) { define('PEAR_CONFIG_SYSCONFDIR', getenv('PHP_PEAR_SYSCONF_DIR')); //} elseif (getenv('SystemRoot')) { //define('PEAR_CONFIG_SYSCONFDIR', getenv('SystemRoot')); } else { //define('PEAR_CONFIG_SYSCONFDIR', PHP_SYSCONFDIR); // This next line is new define('PEAR_CONFIG_SYSCONFDIR', $PEAR_INSTALL_DIR); } 
Это решение менее подвержено риску при работе с несколькими версиями / установками PHP / PEAR, особенно при одновременном запуске более одного, поскольку вы избегаете сближения с окружающей средой.
  По-видимому, разработчики PEAR не обратили внимания на то, что WINDOWS , Program Files и друзья устарели как каталоги приложений-данных с Windows Vista и, как правило, больше не доступны для записи приложениями с невыполненными правами.  (По соображениям безопасности). 
  Посмотрите параметры config-... команды PEAR: 
 config-create Create a Default configuration file config-get Show One Setting config-help Show Information About Setting config-set Change Setting config-show Show All Settings 
  Я предполагаю, что C:\php5 является встроенным каталогом по умолчанию, когда вы не устанавливаете другой. 
вы можете указать конфигурационный файл через
 pear -c /path/to/config/file $command 
  У меня была та же проблема.  Мой конфигурационный файл отсутствовал в каталоге C:\Windows – что-то не так с установщиком go-pear – я указал другое местоположение файла INI , но мое желание не сбылось. 
  Я скопировал pear.ini в C:\windows и все начало работать.