Установка PEAR и PHPUnit с помощью xampp - PullRequest
25 голосов
/ 27 апреля 2011

Я пытаюсь запустить PHPUnit и выполнить следующие шаги, которые я сейчас выполняю:

### Install new PEAR Version needed for PHPUnit 3.X
### Download:  http://pear.php.net/go-pear.phar Save it under C:\xampp\php

Open a command prompt and go to C:\xampp\php
Type "php go-pear.phar" (Installs new PEAR)
Type "pear update-channels" (updates channel definitions)
Type "pear upgrade --alldeps" (upgrades all existing packages and pear)
Type "pear channel-discover components.ez.no" (this is needed for PHPUnit)
Type "pear channel-discover pear.symfony-project.com" (also needed by PHPUnit)
Type "pear channel-discover pear.phpunit.de" (This IS phpunit)
Type "pear install --alldeps phpunit/PHPUnit" (installs PHPUnit and all dependencies)

Это работает до того момента, когда мне нужно pear upgrade --alldeps после загрузки всех необходимых мне битов: #

ERROR: failed to mkdir C:\php\pear\data\Auth\Auth\Frontend
ERROR: failed to mkdir C:\php\pear\docs\Benchmark\doc
ERROR: failed to mkdir C:\php\pear\data\Cache\Container
ERROR: failed to mkdir C:\php\pear\docs\Cache_Lite\docs
ERROR: failed to mkdir C:\php\pear\docs\Calendar\docs\examples
ERROR: failed to mkdir C:\php\pear\docs\Config\docs
.....

Мой каталог PHP установлен в C:\xampp\php

Что мне нужно изменить, чтобы он знал правильное место для добавления этих каталогов / файлов?

Спасибо

Ответы [ 8 ]

30 голосов
/ 23 ноября 2011

Чтобы установить в D: \ xampp \ php, задайте следующие пути к каталогам с помощью команды pear config-set

D:
cd D:\xampp\php
pear config-set doc_dir d:\xampp\php\pear\docs
pear config-set cfg_dir d:\xampp\php\pear\cfg
pear config-set data_dir d:\xampp\php\pear\data
pear config-set cache_dir d:\xampp\php\pear\cache
pear config-set download_dir d:\xampp\php\pear\download
pear config-set temp_dir d:\xampp\php\pear\temp
pear config-set test_dir d:\xampp\php\pear\tests
pear config-set www_dir d:\xampp\php\pear\www
24 голосов
/ 27 апреля 2011

Похоже, проблема не в PHPUnit, а в вашей Pear установки в целом.

Пользователь, с которым вы запускаете установку, не имеет прав для создания необходимых папок.

Ether исправьте эти разрешения или запустите командную строку с правами администратора ( windowsbutton и введите "cmd", затем strg + shift + введите ) и повторите команды.

9 голосов
/ 14 октября 2011

это решение для аналогичной проблемы установить propel orm в xampp.По умолчанию pear пытается установить в c: \ php \ pear \ data, и эта папка не существует, потому что pear находится в c: \ xampp \ php \ pear.

Показать конфигурацию pear:

pear config-show
...
pear config-get data_dir
c:\php\pear\data

Измените конфигурацию груши на:

pear config-set data_dir c:\xampp\php\pear\data

Надеюсь, это полезно;)

5 голосов
/ 11 апреля 2013

Если вы работаете в Widows 8, убедитесь, что вы открыли командное окно от имени администратора , в противном случае ОС будет молча отвергнуть создание директории!

3 голосов
/ 24 декабря 2013

Это может помочь перейти по ссылке ниже: http://forum.kohanaframework.org/discussion/7346/installing-phpunit-on-windows-xampp/p1

  1. Откройте командную строку и перейдите в C: \ xampp \ php
  2. Тип "pear update-channel" (обновляет определения каналов)
  3. Тип "pear upgrade" (обновляет все существующие пакеты и pear)
  4. Введите "pear channel-Discover components.ez.no" (это необходимо для PHPUnit)
  5. Введите "Pear Channel-Discover Pear.symfony-project.com" (также требуется PHPUnit)
  6. Введите "Pear Channel-Discover Pear.phpunit.de" (это phpunit)
  7. Введите "pear install --alldeps phpunit / PHPUnit" (устанавливает PHPUnit и все зависимости)
3 голосов
/ 08 февраля 2012

Я смог заставить работать грушу (а затем и phpunit), создав символическую ссылку в C: \, которая указывает на каталог установки xamp php. Это делает все, что ожидает php в C: \ php, счастливым, и при этом не ломает ничего, что ожидает php в xampp:

В cmd.exe я набрал:

C:\Windows>cd \
C:\>junction php C:\path\to\xampp\php

Я обновил свой php.ini, чтобы использовать C: \ php в качестве места для php. Я тогда установил грушу (как локальная установка, а не система). После установки груши установка phpunit стала простой:

C:\>pear channel-discover components.ez.no
C:\>pear channel-discover pear.phpunit.de
C:\>pear channel-discover pear.symfony-project.com

И, наконец,

C:\>pear install --alldeps phpunit/PHPUnit
2 голосов
/ 07 июля 2011

Вы можете добавить

В результате

php go-pear.phar
pear clear-cache 
pear update-channels
pear upgrade --alldeps -f 
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com
pear channel-discover components.ez.no
pear config-set preferred_state beta
pear install --onlyreqdeps phpunit/PHPUnit
0 голосов
/ 13 декабря 2016

Вы не можете больше устанавливать PHPUnit через PEAR https://stackoverflow.com/a/28457160/1783439

PHPUnit теперь входит в состав XAMPP. Вы можете найти его здесь: C:\xampp\php.

В командной строке:

cd c:\xampp\php
phpunit
...