Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > pear phpunit include_path пляски с бубном


Автор: vitaxaprog111 25.9.2012, 19:31
Доброго времени суток коллеги.
У меня возникла проблема с установкой(или запуском) PHPUnit.
Уже несколько дней мучаюсь, ничего не помогает. Установил по инструкциям с оф.сайтов и PEAR и PHPUnit. Проверяю в консоли 
Код

pear info PEAR

Все нормально, инфу выдает.
А вот набираю в консоли 
Код

phpunit --version

И получаю ошибку
Код

C:\Documents and Settings\admin>phpunit

Warning: require_once(/File/Iterator/Autoload.php): failed to open stream: No su
ch file or directory in C:\Open Server\modules\php\PHP-5.3.16\PEAR\PHPUnit\Autol
oad.php on line 45

Fatal error: require_once(): Failed opening required '/File/Iterator/Autoload.ph
p' (include_path='.;C:\php\pear') in C:\Open Server\modules\php\PHP-5.3.16\PEAR\
PHPUnit\Autoload.php on line 45

Особенно меня бесит вот эта строка (include_path='.;C:\php\pear')
В Path путь прописан как надо. В реестре тоже. Откуда берется такой include_path ума не приложу.
Уже всю систему перерыл. нигде этот путь не прописан. Какой то кошмар.
 smile  Уже скоро крыша поедет. 
Может быть кто то сталкивался с такими проблемами, подскажите как быть?
Как заставить работать ненавистный phpunit?

Автор: ksnk 25.9.2012, 19:46
У меня в PHPUnit/Autoload.php в 45 строке написано
Код

require_once 'File/Iterator/Autoload.php'; 

Что несколько отличается от такого - '/File/Iterator/Autoload.php'; 

Цитата(vitaxaprog111 @  25.9.2012,  19:31 Найти цитируемый пост)
Откуда берется такой include_path ума не приложу.

Он берется из php.ini. Параметр так и называется include_path

Вообще - немного странно видеть установку web сервера на диск С и запуск его из такого места. Просто в Linux, на котором он обычно работает, не принято создавать каталоги с пробелами в названиях. Да и с русскими буквами возникнут неслабые проблемы, если они случайно появятся в пути. Это, конечно, лечится, но возникающие проблемы не стОят того, чтобы с ними возится. Разумнее всего, imho, подходит к этому делу Denwer - он создает отдельный диск Z, на котором уже и разворачиваются все web-приблуды с каталогами, с принятыми в unix наименованиями и структурой каталогов. 

Автор: vitaxaprog111 25.9.2012, 20:05
Цитата(ksnk @ 25.9.2012,  19:46)
У меня в PHPUnit/Autoload.php в 45 строке написано
Код

require_once 'File/Iterator/Autoload.php'; 

Что несколько отличается от такого - '/File/Iterator/Autoload.php'; 

Странно. Я пути в Autoload.php не трогал. Так и были они прописаны. Ставил я из консоли, командой
Код

pear install pear.phpunit.de/PHPUnit

Попробую сейчас поправить.

Добавлено через 9 минут и 29 секунд
Цитата(ksnk @ 25.9.2012,  19:46)
Цитата(vitaxaprog111 @  25.9.2012,  19:31 Найти цитируемый пост)
Откуда берется такой include_path ума не приложу.

Он берется из php.ini. Параметр так и называется include_path

Да это я знаю. Но вы наверное будете смеяться но у меня в php.ini написано вот что
Код

include_path = ".;C:/Open Server/modules/php/PHP-5.3.16/pear;"


Добавлено через 13 минут и 28 секунд
Цитата(ksnk @ 25.9.2012,  19:46)
Разумнее всего, imho, подходит к этому делу Denwer - он создает отдельный диск Z, на котором уже и разворачиваются все web-приблуды с каталогами, с принятыми в unix наименованиями и структурой каталогов.

Дело в том, что на денвере такая же самая чепуха. О пробелах я не подумал. Исправлю. Просто опен сервер по умолчанию так устанавливается.

Добавлено через 14 минут и 38 секунд
исправил на require_once 'File/Iterator/Autoload.php';
не помогло

Автор: ksnk 25.9.2012, 22:10
Цитата(vitaxaprog111 @  25.9.2012,  20:05 Найти цитируемый пост)
Но вы наверное будете смеяться но у меня в php.ini написано вот что

Это означает, что запускается не тот php.exe. Не из того каталога, где php.ini. Или параметры какие указаны.
Проверить не сложно.
Нужно в консоли запустить 
Код

php -r phpinfo(); > t.txt

потом открыть файл t.txt текстовым редактором и проверить где находится php.ini

В самом крайнем случае - http://php.net/manual/en/features.commandline.options.php в командной строке, где брать php.ini

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)