Моя цель – заставить структуру тестирования Codeception работать и использовать в рамках моего проекта MAMP. Я следую инструкциям по установке.
Груша установлена и работает нормально. Я могу получить Codeception с этими командами:
$ pear channel-discover codeception.com/pear $ pear install codeception/Codeception
После установки, когда я пытаюсь запустить команды codecept, я получаю следующую ошибку:
Warning: require_once(Codeception/autoload.php): failed to open stream: No such file or directory in /usr/bin/codecept on line 12 Fatal error: require_once(): Failed opening required 'Codeception/autoload.php' (include_path='.:') in /usr/bin/codecept on line 12
Я думаю, что проблема вызвана либо:
$ phpunit
изнутри моей папки проекта, я получаю -bash: phpunit: command not found
но если я запускаю ее как $ /Applications/MAMP/bin/php/php5.3.6/bin/phpu nit
она работает просто отлично , codecept
в /Applications/MAMP/bin/php/php5.3.6/bin/
но его нет – есть, однако, папка /Applications/MAMP/bin/php/php5.3.6/lib/php
в /Applications/MAMP/bin/php/php5.3.6/lib/php
codecept
в /usr/bin/
а также Папка Codeception
в /usr/lib/php/pear/
/Applications/MAMP/bin/php/php5.3.6/bin/php
/Applications/MAMP/bin/php/php5.3.6/bin/pear
живет здесь: /Applications/MAMP/bin/php/php5.3.6/bin/pear
/Applications/MAMP/bin/php/php5.3.6/bin/phpunit
Любая помощь? Предложения?
Благодаря помощи Даверта я смог подтвердить, что это конфликт с копией PHP и встроенной копией PHP в PHP. Чтобы решить проблему, я создал новый файл php.ini
файле /etc
который был дубликат php.ini.default
и изменил include_path
на /Applications/MAMP/bin/php/php5.3.6/lib/php
Я думаю, проблема в том, что ваша команда PEAR была выполнена из связанного PHP. Таким образом, ваши первичные библиотеки PHP MAMP в (/Applications/MAMP/bin/php/php5.3.6/bin/pear)
не обновлялись. Я предлагаю вам найти второй PEAR, потому что Codeception был постоянно сохранен. И добавьте путь к нему в include_path в php.ini.
Да, PEAR довольно глючит. В следующих выпусках будет добавлен установщик Composer.
Кроме того, вы можете попробовать использовать исполняемый файл Phar.
В этом случае Codeception должен быть выполнен с:
php codecept.phar
Одним из решений, который работал для меня, было редактирование /Applications/MAMP/bin/php5.3/bin/codecept и замена / usr / bin / php в первой строке /Applications/MAMP/bin/php5.3/bin/php