2013-04-30 2 views
1

Я выполняю шаги (от http://book.cakephp.org/2.0/en/development/testing.html), чтобы настроить тестирование на установку CakePHP.Тесты ядра CakePHP не работают на IIS

Просмотр основных тестов должен быть таким же простым, как добавление /test.php к URL-адресу моего приложения. Но когда я делаю это, я получаю страницу ошибки, говоря ...

Missing Controller

Error: Test.phpController could not be found.

Error: Create the class Test.phpController below in file: my-app\Controller\Test.phpController.php

Очевидно, что «test.php» должен быть реальный файл, а не имя контроллера, так что я думаю, что ни моего Перезаписи IIS могут быть неправильными или, может быть, некоторыми настройками в самом тесте test.php? Я не нашел ничего полезного в другом месте в Интернете, поэтому я прошу здесь.

(Кстати, мое приложение работает очень хорошо, но я не устанавливал его с нуля - коллега создал приложение изначально, поэтому я не могу поклясться, что все настройки по умолчанию установлены так, как они были бы установлены готовая установка CakePHP.)

ответ

0

Исправление моей проблемы было двояким. Во-первых, вместо добавления test.php мне пришлось добавить webroot/test.php. Затем мне пришлось деактивировать «Импортированное правило 3» из CakePHP. Это правило говорит:

<match url="(.*)" ignoreCase="false" /> 
<action type="Rewrite" url="app/webroot/{R:1}" /> 

Я не уверен, почему это правило перезаписи было включено, но это не кажется необходимым, и это мешает test.php работать.

+0

У меня такая же проблема, но ваше решение, похоже, не работает для меня. Кроме того, правила, которые у меня есть, немного разные, я думаю. Я просто импортировал их с помощью IIS 7. – Alvaro