Я пытаюсь использовать SimpleTest с CodeIgniter, используя код, предоставленный maroonbytes .Я использую LAMP и NetBeans 6.9.
Страница test.php загружается в моем браузере.У меня есть тест заглушки, который отображается в выпадающих списках.Когда я пытаюсь запустить его, я получаю 2 ошибки PHP:
Сообщение: include_once (/var/www/sparts3/main/tests/basic_test_v.php): не удалось открыть поток: такого файла нетили каталог
Сообщение: include_once (): не удалось открыть /var/www/sparts3/main/tests/basic_test_v.php для включения (include_path = '.: / usr / share / php: / usr /share / pear ')
Неправильный путь - basic_test_v.php находится в подпапке / tests / views .
Отладчик указывает на это в test.php :
function add_test($file, &$test)
По какой-то причине NetBeans не раскрывает значение $ file на этом этапе.Означает ли это, что он пустой?
Я уже перебил строку кода, потому что она позволяет мне пройти страницу Code 404 Not Found.казалось, что отладчик GET вызывал сбой валидатора.Поэтому я добавил свой критерий в своем невежественном способе (я уверен, что это должно быть обработанное исключение или что-то в этом роде):
if ($this->uri->uri_string == '' || $this->uri->uri_string == 'XDEBUG_SESSION_START')
{ ... }
Как я могу решить эту проблему?Кстати, это попытка решить мой другой пост , который я буду обновлять;казалось, лучше всего сделать это дискретным вопросом.
ОБНОВЛЕНИЕ 1: Я использовал надстройку веб-разработчика (Firefox) для экспериментов с записями POST.Я считаю, что они неправильно обрабатываются в коде.По-прежнему кажется, что NetBeans не хочет показывать некоторые строковые переменные во время отладки;это расстраивает.
ОБНОВЛЕНИЕ 2: Мне кажется, что обработка действительного кода останавливается в тот же момент, когда NetBeans перестает отображать переменные.Я перехожу через test.php .Я на полпути через функцию, add_test ($ file, & $ test) .Эта функция открывается оператором if;это хорошо заканчивается, и я вижу переменные.Затем новый оператор if:
if (file_exists($implementation))
{
require_once ($implementation); ...
Как только я нахожусь на этой линии, происходят 2 вещи:
- Отображение переменных в NetBeans становится пустым, за исключением SuperGlobals
- Код ведет себя так, как будто $ реализация является пустой переменной
Я добавил оператор чуть выше этих строк:
$implementation = 'http://var/www/sparts3/main/tests/views/basic_test_view.php';
Это неничего не меняюВывод браузера одинаков независимо от того, использую я NetBeans / Xdebug или нет.
Так что это начинает выглядеть как сбой в обработке PHP.Они существуют?Я могу попробовать загрузить и попробовать из службы хоста - только для диагностических подсказок и безрадостно, потому что CI без возможности отладки меня не интересует.
ОБНОВЛЕНИЕ 3: Я попробовал все на ПК WAMP.Те же результаты браузера (плюс некоторые "устаревшие" ошибки, что-то связанное с PHP 4 против 5).Я думаю, что могу отлаживать на этом ПК (если Xdebug работает), но, похоже, нет особого смысла.